Анализ SonarQube выполняется успешно, но не обрабатывается сервером

Недавно я обновил наш сервер SonarQube с 5.1.2 до 5.2. Мы проводим анализ с помощью SonarQube Runner (2.4) через Jenkins, и анализ завершается успешно. Проблема в том, что анализ не обрабатывается сервером. Следующая ошибка отображается в конце журнала, который отображается для неудавшейся фоновой задачи:

Основная ошибка заключается в следующем:

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]

Кто-нибудь видел это раньше или имеет представление, что может быть неправильным?

Спасибо.

Ответ 1

У меня такая же проблема, как и до версии 5.2. Как уже упоминалось выше, у меня действительно были условия (охват нового кода), определенные для нескольких периодов (с предыдущей версии, начиная с предыдущего анализа, за последние 30 дней) в моих качественных воротах. Он работал как прелесть раньше, теперь он сломан.

Если оставить только одно условие для метрики ( "охват нового кода, так как последняя версия должна быть 80%" ), мне удалось обойти эту ошибку.

Однако, я должен сказать, что это очень раздражает, что все это сейчас сломано. Несколько периодов для одной и той же метрики были очень полезны. Например, "поскольку предыдущая версия" показывает "насколько хороши мы делаем с момента выпуска", а "с предыдущего анализа" показывает "насколько хороша последняя фиксация".

Ответ 2

На сегодняшний день эту проблему можно решить только, убедившись, что в затворе качества проекта есть только одно условие.

Ticket SONAR-7276 был создан для восстановления поддержки нескольких условий по одной и той же метрике.

Ответ 3

Меня раздражает SonarQube. После установки 5.2 она работала нормально (я использую Sonar с Oracle DB), но внезапно фоновые задания Sonar не будут завершены для некоторых конкретных проектов (из журналов он всегда застревает в точке компонентов [osscsComputStepExecutor] Index. Поскольку анализ набирается ночной от Дженкинса, я часто замечаю, что фоновые задачи за последние 2-3 дня складываются, причем значок прогресса все еще витает в определенном проекте с тысяч минут. Перезапуск сервера убивает текущую работу, но против застрял на следующая задача в очереди. Небольшие проекты на удивление отлично работают.

Другая раздражающая часть, если мы не можем убить или прервать текущую фоновое задание из графического интерфейса администратора, а также не можем запустить другую задачу в очереди вручную. Самая неприятная часть: никаких ошибок в журналах "Сонар" или "Задачи". Я даже пытался включить DEBUG, без помощи.

Ответ 4

проверить, будет ли время анализа сонара и синхронизация времени сонарного сервера
Администрирование → Проекты- > Задачи Backgroud, см. Журналы
введите здесь описание изображения