SonarQube分析成功但服务器不处理

时间:2015-11-05 19:10:41

标签: java sonarqube

我最近将SonarQube服务器从5.1.2升级到5.2。我们通过Jenkins使用SonarQube Runner(2.4)进行分析,分析成功。问题是分析然后不会被服务器处理。在日志结尾处可以看到以下错误,该错误显示为失败的后台任务:

主要错误是:

java.lang.UnsupportedOperationException: QualityGate status can not be changed if already set on source Measure

我不知道这可能是指什么...这里有更多的日志:

2015.11.05 13:53:18 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute size measures | time=1114ms
2015.11.05 13:53:21 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute new coverage | time=2683ms
2015.11.05 13:53:21 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute coverage measures | time=586ms
2015.11.05 13:53:21 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute comment measures | time=118ms
2015.11.05 13:53:22 INFO  [o.s.s.c.s.ComputationStepExecutor] Copy custom measures | time=947ms
2015.11.05 13:53:22 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute duplication measures | time=58ms
2015.11.05 13:53:22 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute language distribution | time=80ms
2015.11.05 13:53:22 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute test measures | time=23ms
2015.11.05 13:53:23 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute complexity measures | time=555ms
2015.11.05 13:53:23 INFO  [o.s.s.c.s.ComputationStepExecutor] Load measure computers | time=12ms
2015.11.05 13:53:30 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   Execution time for each component visitor:
2015.11.05 13:53:30 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - LoadComponentUuidsHavingOpenIssuesVisitor | time=104ms
2015.11.05 13:53:30 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - IntegrateIssuesVisitor | time=6566ms
2015.11.05 13:53:30 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - CloseIssuesOnRemovedComponentsVisitor | time=0ms
2015.11.05 13:53:30 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - SqaleMeasuresVisitor | time=85ms
2015.11.05 13:53:30 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - SqaleNewMeasuresVisitor | time=42ms
2015.11.05 13:53:30 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - LastCommitVisitor | time=5ms
2015.11.05 13:53:30 INFO  [o.s.s.c.s.ExecuteVisitorsStep]   - MeasureComputersVisitor | time=30ms
2015.11.05 13:53:30 INFO  [o.s.s.c.s.ComputationStepExecutor] Execute component visitors | time=6924ms
2015.11.05 13:53:33 INFO  [o.s.s.c.s.ComputationStepExecutor] Compute measure variations | time=2634ms
2015.11.05 13:53:33 ERROR [o.s.s.c.t.CeWorkerRunnableImpl] Failed to execute task AVDY_uRG1PIBOHYznvP3
java.lang.UnsupportedOperationException: QualityGate status can not be changed if already set on source Measure
    at org.sonar.server.computation.measure.Measure$UpdateMeasureBuilder.setQualityGateStatus(Measure.java:244) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.step.QualityGateMeasuresStep.updateMeasures(QualityGateMeasuresStep.java:113) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.step.QualityGateMeasuresStep.executeForProject(QualityGateMeasuresStep.java:95) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.step.QualityGateMeasuresStep.access$000(QualityGateMeasuresStep.java:61) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.step.QualityGateMeasuresStep$1.visitProject(QualityGateMeasuresStep.java:85) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.component.DepthTraversalTypeAwareCrawler.visitNode(DepthTraversalTypeAwareCrawler.java:63) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.component.DepthTraversalTypeAwareCrawler.visit(DepthTraversalTypeAwareCrawler.java:44) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.step.QualityGateMeasuresStep.execute(QualityGateMeasuresStep.java:81) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:39) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.taskprocessor.report.ReportTaskProcessor.process(ReportTaskProcessor.java:53) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.taskprocessor.CeWorkerRunnableImpl.executeTask(CeWorkerRunnableImpl.java:78) [sonar-server-5.2.jar:na]
    at org.sonar.server.computation.taskprocessor.CeWorkerRunnableImpl.run(CeWorkerRunnableImpl.java:55) [sonar-server-5.2.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_85]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) [na:1.7.0_85]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_85]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_85]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_85]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_85]
    at java.lang.Thread.run(Thread.java:745) [na:1.7.0_85]

有没有人见过这个或者知道可能出现什么问题?

感谢。

4 个答案:

答案 0 :(得分:5)

自从升级到5.2后我遇到了同样的问题。正如上面的评论中所提到的,我确实有条件(新代码的覆盖范围)在我的质量门中定义了多个时期(自上次版本以来,自上次分析以来,过去30天)。它之前就像一个魅力,现在已经破了。

只留下指标的一个条件(“自上一个版本以来新代码的覆盖率应为80%”),我设法绕过了错误。

然而,我必须说现在整个事情已经破裂是非常烦人的。同一指标的多个期间非常有用。例如,“自上一版本以来”显示“自发布以来我们做得有多好”,“自上次分析以来”显示“上次提交有多好”。

答案 1 :(得分:3)

截至今天,这个问题只能通过确保项目质量门中每个措施只有一个条件来解决。

已创建故障单SONAR-7276以恢复对同一指标的多个条件的支持。

答案 2 :(得分:1)

我对SonarQube非常恼火。 5.2的安装后工作正常(我正在使用带有Oracle DB的Sonar),但突然Sonar后台任务不能完成某些特定项目(从日志中总是卡在 [osscs] ComputationStepExecutor]索引组件。当分析从Jenkins每晚推送时,我经常会注意到过去2-3天的后台任务堆积起来,进度图标仍然在数千分钟内徘徊在特定项目上。重新启动服务器杀死当前的工作,但反对陷入下一个排队的任务。较小的项目令人惊讶地工作正常。

另一个烦人的部分,如果我们不能从管理GUI中杀死或中止正在运行的后台任务,也不能手动触发队列中的另一个任务。最令人讨厌的部分是:Sonar或Tasks日志中没有任何错误。我甚至尝试过启用DEBUG,没有任何帮助。

答案 3 :(得分:1)

检查声纳分析时间和声纳服务器时间是否同步
管理 - >项目 - > Backgroud Tasks,查看日志
enter image description here

相关问题