Sonarqube 后台任务 运行 永远

Sonarqube background tasks running forever

我们 运行 SonarQube 5.6.4 已经有一段时间了。然后我们突然观察到后台任务的队列在增加。在日志中我们看到这样的消息:

2017.07.24 13:56:10 INFO  [o.s.s.es.BulkIndexer] 0 requests processed (0 items/sec)

每分钟一个日志条目。

随后启动的其他任务失败:

org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes were available: [[sonar-1498219166409][3QkGfCI8RUSn6vapRi5SSg][a2d477fdfe7a][inet[/127.0.0.1:9001]

我不知道如何找到导致错误的原因。配置没有任何变化。

我重新启动了服务器,但没有任何改变。

对我来说值得注意的是弹性搜索似乎打开的端口数量:

tcp        0      0 localhost:etlservicemgr localhost:53058         ESTABLISHED 24/java
tcp        0      0 localhost:etlservicemgr localhost:53070         ESTABLISHED 24/java
tcp        0      0 localhost:53058         localhost:etlservicemgr ESTABLISHED 220/java
tcp        0      0 localhost:etlservicemgr localhost:52934         ESTABLISHED 24/java
tcp        0      0 a2d477fdfe7a:49760      sonar-db.netwo:postgres ESTABLISHED 220/java
tcp        0      0 localhost:etlservicemgr localhost:52846         ESTABLISHED 24/java
tcp        0      0 localhost:52924         localhost:etlservicemgr ESTABLISHED 119/java
tcp        0      0 localhost:52928         localhost:etlservicemgr ESTABLISHED 119/java
tcp        0      0 localhost:53076         localhost:etlservicemgr ESTABLISHED 220/java
tcp        0      0 localhost:etlservicemgr localhost:52866         ESTABLISHED 24/java
tcp        0      0 localhost:53074         localhost:etlservicemgr ESTABLISHED 220/java
tcp        0      0 localhost:etlservicemgr localhost:52922         ESTABLISHED 24/java

(真的五倍)

有谁知道如何找到问题的原因吗?

sonarqube.properties 有默认值。唯一的变化是:

sonar.security.realm=LDAP
sonar.security.savePassword=true
sonar.security.updateUserAttributes=true
sonar.authenticator.downcase=true
sonar.authenticator.createUsers=true

和 LDAP 配置。

虽然我仍然不明白为什么任务被卡住并且没有抛出异常,但我们的问题似乎可以通过将 worker 的堆空间从 500MB 增加到 1GB 来解决:

sonar.ce.javaOpts=-Xmx1024m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true