3

サーバーAとサーバーBにソナーとmysqlデータベースをインストールしました。ソナーランナーを使用してソナー分析を実行しようとしていますが、毎回次のエラーが発生します。

Caused by: java.lang.RuntimeException: wrapper
    at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:130)
    ... 22 more
Caused by: org.sonar.core.persistence.BadDatabaseVersion: The current batch process and the configured remote server do not share the same DB configuration.
    - Batch side: jdbc:mysql://xx.xx.xx.xx:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true (sonar / *****)
    - Server side: check the configuration at http://xx.xx.xx.xx:9000/system

サーバーBはサーバーAからDBにアクセスしています。バッチとサーバー側からすべての構成を確認しましたが、すべて問題ないようです。

また、グーグルで次のリンクを見つけましたが、この問題を解決するために何をすべきか理解できません。

ポインタはありますか?

4

2 に答える 2

6

このエラーは、同じデータベースを指す 2 つの Sonar インスタンスがある場合にも発生する可能性があります。データベースごとに 1 つの Sonar インスタンスのみを持つことができます。

Sonar は、起動するたびにpropertiesテーブル内の行を更新し、分析が実行されるたびに、キャッシュされた値をデータベース内の値と比較します。prop_key = 'sonar.core.id'2 つが一致しない場合、エラーが発生します。

これを修正するには、両方のインスタンスをシャットダウンしてから、維持したいインスタンスのみを再起動します。Sonar は sonar.core.id 値をリセットし、再び機能するはずです。

REST 経由でサーバーのキャッシュ ID を取得できます。 http://server:port/sonar/api/server

Sonar が機能するには、データベース内のものと一致する必要があります。 select * from properties where prop_key = 'sonar.core.id'

于 2013-03-27T17:40:54.343 に答える
0

Sonar サーバーが使用するデータベース設定を確認していますか?

ビルドで使用されるデータベース資格情報と一致しますか?

エラーメッセージは、そうではないことを示唆しています。JIRA の問題SONAR-3685は、「Not A Bug」解決コードでクローズされました。

于 2012-11-12T23:59:17.473 に答える