SonarQube - QProfile tidak ada

Saya telah memutakhirkan SonarQube dari 4.4 ke 5.1 dan saya mendapatkan kesalahan berikut.

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

Semua plugin telah ditingkatkan ke versi terbaru, dan plugin lama yang tidak didukung telah dihapus.

Pembungkusnya berhenti dan SonarQube tidak berjalan


person Shaun    schedule 09.04.2015    source sumber
comment
Sepertinya ada masalah dengan sinkronisasi indeks ElasticSearch internal. Ini akan kembali dalam kondisi baik jika Anda menghapus folder ${SQ_HOME}/data/es dan memulai ulang server.   -  person Mithfindel    schedule 09.04.2015


Jawaban (1)


Saya mendapat masalah yang sama dan menyelesaikannya.

"QProfile tidak ada" berarti beberapa aturan aktif merujuk pada profil kualitas yang hilang.

Jadi saya mencari database sonarqube saya dan menjalankan SQL di bawah ini.

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
;

Saya menemukan beberapa profile_id dan kemudian menghapus catatan ini. Lalu, saya memulai sonarQube. Sekarang sonarQube terlihat berfungsi dengan baik.

Saya akan senang jika saya dapat membantu Anda.

person sgykfjsm    schedule 19.02.2016