声纳抛出错误BadDatabaseVersion

时间:2012-11-12 06:37:46

标签: sonarqube

我在服务器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访问数据库。我检查了批处理和服务器端的所有配置,一切似乎都没问题。

我也用Google搜索并找到了following link, 但我无法理解如何解决这个问题。

任何指针?

2 个答案:

答案 0 :(得分:6)

如果 2个Sonar实例指向同一个数据库,也会发生此错误。每个数据库只能有一个Sonar实例。

Sonar更新properties表中每行启动时prop_key = 'sonar.core.id'的行,然后在执行分析时将缓存值与数据库中的值进行比较。如果两者不匹配则会出现错误。

要修复它,请关闭这两个实例,然后只重新启动要保留的实例。声纳将重置sonar.core.id值,事情应该再次起作用。

您可以通过REST获取服务器的缓存ID: http://server:port/sonar/api/server

它必须匹配数据库中Sonar的工作。 select * from properties where prop_key = 'sonar.core.id'

答案 1 :(得分:0)

您确定Sonar服务器使用的数据库设置:

匹配构建使用的数据库凭据吗?

错误消息表明他们没有。 JIRA问题SONAR-3685以“Not A Bug”解析代码结束。