Sonar 3.5.1 / sonar-runner 2.2因BadDatabaseVersion而失败

时间:2013-05-25 20:24:43

标签: configuration sonarqube sonar-runner

我在一个全新的PostgreSQL 9.2数据库上安装了Sonar 3.5.1。服务器似乎运行正常,但sonar-runner(v2.2)失败并出现以下错误:

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:postgresql://10.1.0.210/sonar (postgres / *****)
    - Server side: check the configuration at http://sonar.kopitoto/system

我非常确信Sonar没有其他并发安装指向同一个数据库,因为:

  • 这是该组织中的第一个Sonar安装,
  • 数据库中sonar.core.id的值与Sonar服务器返回的值匹配:

从DB中获取值:

sonar=# SELECT text_value FROM properties WHERE prop_key = 'sonar.core.id';
   text_value   
----------------
 20130525192736
(1 row)

从服务器获取值:

$ curl http://sonar.kopitoto/api/server
<?xml version="1.0" encoding="UTF-8"?>
<server>
  <id>20130525192736</id>
  <version>3.5.1</version>
  <status>UP</status>
</server>

Sonar-runner的属性:

sonar.host.url: http://sonar.kopitoto
sonar.jdbc.driverClassName: org.postgresql.Driver
sonar.jdbc.password: *****
sonar.jdbc.schema: public
sonar.jdbc.url: jdbc:postgresql://10.1.0.210/sonar
sonar.jdbc.username: postgres

当然,密码不是五星级,但我检查了两次。如果我稍微更改它,则运行器会因验证错误而提前失败。因此排除了密码不匹配。

服务器的sonar.properties

sonar.jdbc.username:                       postgres
sonar.jdbc.password:                       *****
sonar.jdbc.url:                            jdbc:postgresql://10.1.0.210/sonar
sonar.jdbc.driverClassName:                org.postgresql.Driver
sonar.jdbc.schema:                         public

同样,上面的密码不是五颗星,但我很确定它是正确的。服务器日志没有说明错误,并显示了当我停止事物,删除数据库,创建一个空数据库,然后再次启动Sonar服务器时如何初始化数据库模式。

我错过了什么吗?

此时,我认为这是Sonar的一个错误(可能是声纳 - 跑步者)。不幸的是,Sonar的问题跟踪系统充斥着这样的报告,所有报告都以“非错误”解决方案结束。如果我重新打开其中一个问题,我想我会被解雇。

所以我希望我在这里真的错过了什么。

0 个答案:

没有答案