SonarQube 5.3后台任务失败,没有登录仪表板

时间:2016-01-13 08:52:16

标签: sonarqube sonarqube5.2

我知道这与sonarqube 5.2 background tasks sometimes fail with no log类似 - 但是我无法评论(由于缺少声誉点)来添加更多信息,因此尝试添加此帖作为答案,但主持人已将其删除。 ..

我在SonarQube 5.2遇到问题,现在在昨天升级后出现了问题。我已经尝试在服务器上将日志记录增加到TRACE,并在项目本身上启用sonar.verbose = true。

但是,maven构建的输出中没有额外的信息 - 只是正常:

分析成功,您可以在构建日志中浏览xxx。

我确实在服务器日志文件中看到了POST /api/ce/submit?projectKey=xxxx&projectName=yyyy | time=757ms - 但没有更进一步。

我还在data\ce\reports中看到一个zip文件,其名称与构建日志中的id匹配(例如:AVI19fDPpe3MLWoccJn9.zip)

但是 - 我在后台任务屏幕上出现间歇性故障 - 后台任务屏幕中没有日志链接,并且data\ce\logs\reports目录中没有创建日志。

我从头开始重新建立了sonarqube数据库5.3(因为我们没有历史记录) - 而且错误仍在发生。

我正在使用:

  • Oracle DB在新的sonarqube 5.3安装
  • 插件:
    • 声纳-java的插件 - 3.9
    • 声纳-LDAP的插件-1.5.1
    • sonar-scm-perforce-plugin-1.3(虽然目前我们在前一版本中遇到问题sonar.scm.disabled=true
    • sonar-csharp-plugin-4.3(与此java分析无关)
    • sonar-scm-git-plugin-1.1(与此分析无关)
    • sonar-scm-svn-plugin-1.2(与此分析无关)
  • 我正在使用sonar-jacoco-listeners v 3.2构建Maven项目(也尝试过2.9.1)

1 个答案:

答案 0 :(得分:11)

你面临一个非常奇怪的问题。

总结一下:

  • 不时
  • 处理后台任务时没有记录sonar.log,也没有data/ce/logs目录中的任务日志
  • 任务失败(在SQ的UI中可见)
  • 它跑了很短的时间
  • 报告zip文件仍存在于数据目录

我们遇到这样一个场景的唯一一次,结果发现两个SonarQube实例在同一个数据库上运行,这是正在发生的事情:

  • SQ A(您知道并监控的)接收报告,将zip文件保存到其数据目录并在数据库中添加条目(后台任务)
  • SQ A和SQ B都会定期轮询数据库,以便处理要处理的待处理项目。有时,SQ B将是第一个从数据库中选择条目并开始处理它的人。由于报告不在其数据目录中,因此处理非常快速,并且数据库中的条目被标记为失败
  • SQ A从不尝试处理该条目,因为从它的角度来看,它是PROCESSING(当SQ B正在处理它时)或FAILED(当SQ B完成它时)。只能处理PENDING项目。因此,SQ A的sonar.log中没有日志显示,也没有创建任务日志。但是,在UI中,后台任务显示为失败,因为UI显示来自数据库的信息。

一个很好的提示是,SQ A没有完成处理(即DB中条目状态的改变),报告zip文件仍然存在于数据目录中。将条目状态更改为FAIL或SUCCESS与删除zip文件紧密相关。

它只是一个提示,因为删除也可能失败,但在这种情况下,你会在日志中出现错误。