sonarqube升级后的质量配置文件怪异(活动/非活动规则)6.3.1

时间:2017-05-23 09:11:25

标签: sonarqube

我已经将sonarqube服务器从6.2升级到6.3.1,从那以后我看到了一个关于质量配置文件的奇怪行为(它可能以前发生过,现在才发现它。)

当我点击质量配置文件 SonarWay (Java)时,我看到了

enter image description here

所以似乎所有规则都是无效的。

当我点击激活更多时,我会看到以下内容

enter image description here

所以它看起来有规则是活跃的(我假设是由于"停用"选项")。

但是当在左侧栏中切换到"活动"在质量配置文件下导致此

enter image description here

如此清楚,没有规则是活跃的。

然后显示的第二张图像是什么,"取消激活"意思是,虽然它不活跃?

突然之间所有规则似乎都被停用了怎么会发生这种情况?

1 个答案:

答案 0 :(得分:3)

此特定行为是损坏的弹性搜索索引的常见症状(不再与SonarQube数据库同步)。

解决方案

重建SonarQube ElasticSearch索引:

  • 停止SonarQube服务器
  • 删除ElasticSearch索引@ sonar_install_dir / data / es
  • 启动SonarQube服务器

(提醒: ElasticSearch 是SonarQube用来索引问题,规则等的搜索引擎,以便它可以快速访问这些数据,而无需一直查询数据库,请参阅{{3 }})

根本原因

为什么会这样?一个常见的情况是在升级和/或更改数据库后未正确重建ElasticSearch索引。这是一个典型的场景:您首先在嵌入式H2数据库上启动SonarQube,对其进行一些实验,然后将其插入到完整的数据库中。如果ElasticSearch索引没有被中间划分/重建,那么索引就会被破坏,因为它曾经与之同步的数据库/数据集突然发生了变化。

仅供参考,计划更优雅地处理此问题:SonarQube Architecture

注意:独立于上述解决方案,不要将ElasticSearch索引重建作为应定期执行的轻量级操作。 SonarQube会自行管理其ElasticSearch索引,因此必须首先调查任何问题。