2015-11-05 2 views
1

Я пытаюсь обновить SonarQube v5.1 до v5.2 и он терпит неудачу с ошибкой ниже:SonarQube обновление не от v5.1 до v5.2

ERROR web[o.s.s.d.m.DatabaseMigrator] Fail to execute database migration: org.sonar.db.version.v52.RemoveDuplicatedComponentKeys 
java.lang.IllegalStateException: Error during processing of row:.................................................................. 

Caused by: java.sql.SQLException: Streaming result set [email protected] is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries. 

2015.11.05 09:08:32 INFO web[o.s.s.d.m.PlatformDatabaseMigration] DB migration failed | time=6911ms 
2015.11.05 09:08:32 ERROR web[o.s.s.d.m.PlatformDatabaseMigration] DB Migration or container restart failed. Process ended with an exception 
org.jruby.exceptions.RaiseException: (StandardError) An error has occurred, all later migrations canceled: 

Fail to execute database migration: org.sonar.db.version.v52.RemoveDuplicatedComponentKeys 
+0

Прогресс в этой проблеме? У меня такая же проблема при обновлении с 5.0 до 5.2. –

+0

Я не пробовал обновляться позже. SonarQube выпустила версию 5.3 и, похоже, эта проблема решается в этом обновлении. https://jira.sonarsource.com/browse/SONAR-7137 –

ответ

0

Я нашел обходной путь. Я удалил дублированные проекты из таблицы проектов, а затем перезапустил процесс миграции.

Чтобы получить представление о том, что происходит, выполнить следующий запрос на вашей базе данных:

select p.kee, COUNT(p.kee) FROM projects p GROUP BY p.kee HAVING COUNT(p.kee) > 1; 

Если вы этот запрос возвращает все элементы, которые вы должны удалить дубликаты из них (например, самые старые). В моем случае это было легко, потому что в таблице проблем, связанных с рассматриваемыми проектами, не было никаких мест.

Я должен поэтапно имитировать процедуру миграции SonarQube 5.2 (удаление дублированных проектов и проблемы с обновлениями для них), вы можете найти список запросов, выполняемых во время этапа перехода на Github.