我試圖將我們的SonarQube實例從4.5.7 LTS升級到5.6.5 LTS。我遵循提供的SonarQube升級文檔。瀏覽到[sonarserver]:9000/setup並運行數據庫升級。升級跑了2小時多一點,回來與此消息:SonarQube 4.5.7到5.6.5數據庫升級失敗
Upgrade Failed
Database connection cannot be established. Please check database status and JDBC settings.
當查看日誌,我看到這個錯誤:
2017.02.16 13:18:43 ERROR web[o.s.s.d.m.DatabaseMigrator] Fail to execute database migration: org.sonar.db.version.v50.FeedFileSources
java.lang.IllegalStateException: Error during processing of row: [uuid=AVpHrbhU29-XDi5QdhtN,uuid=AVpHrbk629-XDi5Qdh0r,data=using System;
我在這裏複製了整個數據庫升級日誌:http://pastebin.com/p9CkYhrU
我也嘗試重新啓動SonarQube並嘗試再次升級數據庫,但它運行了5-10分鐘並報告了相同的結果。
其他細節:
當前SonarQube:4.5.7 LTS
新SonarQube:5.6.5 LTS
DB:MySQL的5.7.17
操作系統:Windows Server 2012中R2
升級失敗後,我們成功恢復到4.5.7。
我們之前也從4.3.1升級到4.5.7 LTS。在升級過程中,我們將SonarQube數據庫從MySQL 5.5遷移到5.7.17,然後將SonarQube升級到4.5.7 LTS。升級步驟運行了兩個小時併成功完成。
謝謝你的任何援助,
-Eddie
看起來您碰到與FeedFileSources相關的升級錯誤的另一個變體。請參閱[這裏](https://jira.sonarsource.com/browse/SONAR-7997)和[這裏](https://groups.google.com/forum/#!topic/sonarqube/hOkvq3jz6kI)。您可以調查鏈接中提到的表格,試圖找到不尋常的數據並修復它。由於這是LTS版本之間的升級,您還應該在SonarQube Google小組中搜索答案或發佈詳細問題。作爲最後的手段,你必須重新開始一個空的數據庫。 –
[code](https://jar-download.com/explore-java-source-code-detail.php?file=./javaSource/org.sonarsource.sonarqube/sonar-db/5.6/org/sonar/ db/version/v50/FeedFileSources.java&key = c958548c567e504e88ff12dee402c385)也可用 –
@JeroenHeier謝謝!我能夠解決這個錯誤,並找到了更多!我發佈了我做的答案。 – EddieB