Help us understand the problem. What is going on with this article?

SonarQube の Background Tasks に Failed がたまっていく

More than 3 years have passed since last update.

SonarQube を使っていたら、とある構成変更作業以降から (伏線)、解析リクエストは届くのに実行されず、失敗してしまうという現象が頻発するようになってしまっていました。

こんな具合です。

sonarqube-background-task-failed.png

数回に一度しか、解析リクエストを正常に処理できなくなっていました。今回はこの事象が発生する条件と、その解消方法をメモしておきます。

環境

  • Ubuntu 14.04 LTS
  • Java 8
  • SonarQube 6.0
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"

$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

事象

冒頭でも書いておりますが、おさらいです。

例えば以下のように、Maven プラグインを使用して解析リクエストを投げる場合なんかに、発生していました。なお、今回使ったプラグインは org.sonarsource.scanner.maven:sonar-maven-plugin:3.1.1 です。

$ mvn clean test sonar:sonar -U -Dmaven.test.failure.ignore=true

すると、Maven の実行自体は、SUCCESS で完了するものの、実際に、SonarQube の [Background Tasks] を確認して見ると、Failed となっている、というものです。

原因と解消方法

Stackoverflow でも、同様の事象が報告されていました。

http://stackoverflow.com/questions/34762115/sonarqube-5-3-background-task-fails-with-no-log-in-dashboard

そして、これの対処方法を示唆するコメントが以下。

http://stackoverflow.com/questions/34762115/sonarqube-5-3-background-task-fails-with-no-log-in-dashboard#comment-57332112

Can you make sure that you don't have 2 SonarQube instances that point to the same DB? – Fabrice - SonarSource Team Jan 14 at 16:13

どうやら、2つ以上の SonarQube インスタンスから、同一の DB インスタンスを参照してはならないようです。

わたしの場合は、まさしくこれをやってしまっていました。そこで、不要になっていた片方の SonarQube インスタンスを停止してみたところ、事象はすべて解消し、現在快調に動作しております。

sonarqube-background-task-fixed-2.png

このように、構成見直し以降は解析が Failed とならなくなりました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away