Details
-
Bug
-
Resolution: Done
-
High
-
5.13.0.1
-
None
-
Severity 1 - Critical
-
Description
Summary
It's currently possible to run database altering upgrade tasks with Bamboo 5.13.0.1 on an unsupported database platform. Pre-bootstrap validation task 51111 completes successfully despite detecting the unsupported database version, the upgrade will then proceed to convert all column names to UPPER CASE and fail eventually on the schema upgrade with java.sql.SQLException: Invalid object name 'sys.sequences'. due to the unsupported database version e.g. MS SQL 2008.
At this point rollback cannot be achieved without rolling back the database, as the previous versions will be incompatible with the UPPER CASE column names.
Environment
- MS SQL 2008 R2
Steps to Reproduce
- Upgrade a pre Bamboo 5.13.0.1 MS SQL 2008 database to 5.13.0.1
Expected Results
Task 51111 fails and the upgrade fails without altering any database state which will allow rollback to previous version.
Actual Results
Validation task succeeds despite detecting unsupported version:
2016-09-20 13:07:15,305 INFO [-startStop-1] [AbstractUpgradeManager] ------------------------------- 2016-09-20 13:07:15,305 INFO [-startStop-1] [AbstractUpgradeManager] 51111 : Verify DB compatibility 2016-09-20 13:07:15,305 INFO [-startStop-1] [AbstractUpgradeManager] ------------------------------- 2016-09-20 13:07:15,344 INFO [-startStop-1] [DatabaseIsSupported] Testing compatibility of [Microsoft SQL Server 10.00.6241] with this version of Bamboo. 2016-09-20 13:07:15,345 ERROR [-startStop-1] [DatabaseIsSupported] Detected MSSQL version 10.0.0, minimal supported version is 11.0.0 2016-09-20 13:07:15,346 ERROR [-startStop-1] [DatabaseIsSupported] Bamboo doesn't support Microsoft SQL Server version 10.00.6241. Please check https://confluence.atlassian.com/display/BAMBOO/Supported+Platforms for more information. 2016-09-20 13:07:15,346 INFO [-startStop-1] [AbstractUpgradeManager] Completed task 51111 successfully.
Bamboo continues to upgrade tasks and changes the column case:
2016-09-20 13:07:18,221 INFO [-startStop-1] [AbstractUpgradeManager] 51301 : Change column names to uppercase on MS SQL 2016-09-20 13:07:18,246 INFO [-startStop-1] [AbstractUpgradeManager] -------------------------------------------------- 2016-09-20 13:07:18,569 INFO [-startStop-1] [UpgradeTask51301UpperCaseDbColumnNames] Table TRUSTED_KEY not found. Probably migrating from older Bamboo version. 2016-09-20 13:07:18,768 INFO [-startStop-1] [AbstractUpgradeManager] Completed task 51301 successfully.
Then fails due to MS SQL 2008 incompatibility during SchemaUpdate
2016-09-20 13:08:26,105 ERROR [-startStop-1] [SchemaUpdate] HHH000319: Could not get database metadata
java.sql.SQLException: Invalid object name 'sys.sequences'.
Resolution
If you experience this, the safest path is to rollback your database and Bamboo version to the pre-upgrade backup. To upgrade successfully you will need to use a supported database platform: