2015-04-09 3 views
0

Я обновил SonarQube с 4.4 до 5.1 и получил следующую ошибку.SonarQube - отсутствует QProfile

2015.04.09 11:56:50 ERROR web[o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformServletContextListener 
java.lang.IllegalStateException: Could not execute normalization for stack 
    at org.sonar.server.search.IndexQueue.processActionsIntoQueries(IndexQueue.java:136) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.search.IndexQueue.enqueue(IndexQueue.java:82) ~[sonar-server-5.1.jar:na] 
    at org.sonar.core.persistence.DbSession.commit(DbSession.java:62) ~[sonar-core-5.1.jar:na] 
    at org.sonar.server.db.BaseDao.synchronizeAfter(BaseDao.java:370) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.db.BaseDao.synchronizeAfter(BaseDao.java:356) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.search.IndexSynchronizer.synchronize(IndexSynchronizer.java:104) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.search.IndexSynchronizer.executeDeprecated(IndexSynchronizer.java:74) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.platform.ServerComponents$1.doPrivileged(ServerComponents.java:850) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.user.DoPrivileged.execute(DoPrivileged.java:43) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.platform.ServerComponents.executeStartupTasks(ServerComponents.java:847) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.platform.Platform.executeStartupTasks(Platform.java:126) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.platform.Platform.startLevel34Containers(Platform.java:122) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.platform.Platform.doStart(Platform.java:81) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.platform.PlatformServletContextListener.contextInitialized(PlatformServletContextListener.java:44) ~[sonar-server-5.1.jar:na] 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4720) [tomcat-embed-core-8.0.18.jar:8.0.18] 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) [tomcat-embed-core-8.0.18.jar:8.0.18] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.0.18.jar:8.0.18] 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) [tomcat-embed-core-8.0.18.jar:8.0.18] 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) [tomcat-embed-core-8.0.18.jar:8.0.18] 
    at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_20] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_20] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_20] 
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_20] 
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: QProfile is missing 
    at java.util.concurrent.FutureTask.report(Unknown Source) [na:1.8.0_20] 
    at java.util.concurrent.FutureTask.get(Unknown Source) [na:1.8.0_20] 
    at org.sonar.server.search.IndexQueue.processActionsIntoQueries(IndexQueue.java:118) ~[sonar-server-5.1.jar:na] 
    ... 22 common frames omitted 
Caused by: java.lang.NullPointerException: QProfile is missing 
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:204) ~[guava-10.0.1.jar:na] 
    at org.sonar.core.qualityprofile.db.ActiveRuleKey.of(ActiveRuleKey.java:45) ~[sonar-core-5.1.jar:na] 
    at org.sonar.core.qualityprofile.db.ActiveRuleDto.getKey(ActiveRuleDto.java:65) ~[sonar-core-5.1.jar:na] 
    at org.sonar.server.qualityprofile.index.ActiveRuleNormalizer.normalize(ActiveRuleNormalizer.java:79) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.qualityprofile.index.ActiveRuleNormalizer.normalize(ActiveRuleNormalizer.java:45) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.search.action.InsertDto.doCall(InsertDto.java:47) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.search.action.IndexAction.call(IndexAction.java:61) ~[sonar-server-5.1.jar:na] 
    at org.sonar.server.search.action.IndexAction.call(IndexAction.java:28) ~[sonar-server-5.1.jar:na] 
    ... 4 common frames omitted 

Все плагины были обновлены до последней версии, а старые не поддерживаемые были удалены.

Обертка останавливается и SonarQube не работает

+0

Это похоже на проблему с синхронизацией внутреннего индекса ElasticSearch. Он должен вернуться в хорошей форме, если вы удалите папку '' $ {SQ_HOME}/data/es'' и перезапустите сервер. – Mithfindel

ответ

0

я получил такую ​​же проблему и решить ее.

«QProfile missing» означает, что некоторые активные правила ссылаются на отсутствующий профиль качества.

Итак, я посмотрел базу данных sonarqube и выполнил SQL ниже.

SELECT DISTINCT a.profile_id 
FROM sonar.active_rules a 
LEFT JOIN sonar.rules_profiles b ON a.profile_id = b.id 
WHERE b.id IS NULL 
; 

Я нашел файл profile_id, а затем удалил эти записи. Затем я начал sonarQube. Теперь sonarQube выглядит нормально.

Буду рад, если смогу вам помочь.

Смежные вопросы