Description
Summary
If an Upgrade Task fails when upgrading to Bamboo 6.2, and the upgrade is restarted, the build number validation will fail.
Steps to Reproduce
- Start a Bamboo upgrade from pre-6.2 to 6.2.1
- Upgrade fails during a pre-6.2 Upgrade Task
- Fix the upgrade task error
- Restart Upgrade to 6.2.1
Expected Results
Upgrade proceeds as expected.
Actual Results
The below exception is thrown in the atlassian-bamboo.log file:
2017-09-29 17:56:42,912 INFO [localhost-startStop-1] [BootstrapUpgradeManagerImpl] --------------------------------------------------------------------------- 2017-09-29 17:56:42,912 INFO [localhost-startStop-1] [BootstrapUpgradeManagerImpl] 2 : Validate if build number in home directory matches database (bootstrap) 2017-09-29 17:56:42,912 INFO [localhost-startStop-1] [BootstrapUpgradeManagerImpl] --------------------------------------------------------------------------- ... 2017-09-29 17:56:43,646 FATAL [localhost-startStop-1] [BuildNumberInHomeMatchesDatabase] Bamboo home directory comes from pre 6.2 version (build number [xxxxx]) but database already contains build number [xxxxx] 2017-09-29 17:56:43,670 FATAL [localhost-startStop-1] [BootstrapUpgradeManagerImpl] Task 2 failed com.atlassian.bamboo.upgrade.exception.ValidationException: Your Bamboo instance could not start because Bamboo home directory does not match database. Contact Atlassian Support at https://support.atlassian.com ... 2017-09-29 17:56:43,671 FATAL [localhost-startStop-1] [DefaultBootstrapManager] Validation tests failed: Your Bamboo instance could not start because Bamboo home directory does not match database. Contact Atlassian Support at https://support.atlassian.com
Notes
For this bug to be applicable the build number for both the build directory and database will be equal in the logged error. E.g.:
2017-09-29 17:56:43,646 FATAL [localhost-startStop-1] [BuildNumberInHomeMatchesDatabase] Bamboo home directory comes from pre 6.2 version (build number [60103]) but database already contains build number [60103]
If the numbers aren't equal, the validation is working correctly and you have a true mismatch between the Bamboo home and database schema versions.
Workaround
Option 1 (upgrading to Bamboo 6.2.2+ is preferred)
Roll back database and Bamboo home directory to pre-upgrade snapshot.