Bamboo does not start when connecting to Azure Database for MySQL

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

When connecting Bamboo to Azure Database for MySQL the start up process will fail with error "Bamboo doesn't support MySQL version 5.6.47.0" regardless of using a newer version of Azure MySQL.

Environment

Bamboo 8.x or newer.

MySQL 5.7 or newer.

Diagnosis

When starting Bamboo after connecting to Azure Database for MySQL the startup process will fail with the following error:

2021-11-03 09:14:10,934 INFO [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] Testing compatibility of [MySQL] 5.6.47 (5.6.47.0) using JDBC driver [MySQL Connector Java] 5.1.0 (mysql-connector-java-5.1.49 ( Revision: ad86f36e100e104cd926c6b81c8cab9565750116 )) with this version of Bamboo.
2021-11-03 09:14:10,934 ERROR [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] Detected MYSQL version [MySQL] 5.6.47 (5.6.47.0), minimal supported version is 5.7.0
2021-11-03 09:14:10,934 ERROR [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] Bamboo doesn't support MySQL version 5.6.47.0. Please check https://confluence.atlassian.com/display/BAMBOO/Supported+Platforms for more information.
2021-11-03 09:14:10,934 ERROR [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] For avoiding failure please set system property bamboo.upgrade.fail.if.mysql.unsupported to true
2021-11-03 09:14:10,934 ERROR [performSetupDatabaseConnectionBackgroundThread] [BootstrapUpgradeManagerImpl] Task 51111 failed
com.atlassian.upgrade.UpgradeException: Bamboo doesn't support MySQL version 5.6.47.0. Please check https://confluence.atlassian.com/display/BAMBOO/Supported+Platforms for more information.
       at com.atlassian.bamboo.upgrade.tasks.validation.DatabaseIsSupported.doUpgrade(DatabaseIsSupported.java:92)
       at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTask(BootstrapUpgradeManagerImpl.java:131)
       at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.lambda$runValidationTasks$0(BootstrapUpgradeManagerImpl.java:89)
       at com.atlassian.bamboo.upgrade.AbstractUpgradeManager.forEachTask(AbstractUpgradeManager.java:195)
       at com.atlassian.bamboo.upgrade.BootstrapUpgradeManagerImpl.runValidationTasks(BootstrapUpgradeManagerImpl.java:89)
       at com.atlassian.bamboo.setup.DefaultBootstrapManager.runValidationTasks(DefaultBootstrapManager.java:492)
       at com.atlassian.bamboo.setup.DefaultBootstrapManager.postBootstrapDatabase(DefaultBootstrapManager.java:419)

Cause


Azure Database for MySQL uses a gateway node in front of the database to redirect the connections to the server instance. This gateway can advertise a different version of MySQL than the actual server behind it causing Bamboo to fail the start up process as Bamboo believes that it's connecting to an old unsupported version of MySQL.

This is mentioned in the following document from Azure: Supported Azure Database for MySQL server versions.

"In the Single Server deployment option, a gateway is used to redirect the connections to server instances. After the connection is established, the MySQL client displays the version of MySQL set in the gateway, not the actual version running on your MySQL server instance."

Solution

1. Stop Bamboo

2. Edit the <bamboo_installation_directory>/bin/setenv.sh if on Linux or <bamboo_installation_directory>/bin/setenv.bat file if on Windows

3. Add the following property to the JVM_SUPPORT_RECOMMENDED_ARGS variable: -Dbamboo.upgrade.fail.if.mysql.unsupported=false. Your setenv file should look similar to this (the parameters are added space separated if there are more than one):

# Occasionally Atlassian Support may recommend that you set some specific JVM arguments. You can use this variable below to do that.
#
: ${JVM_SUPPORT_RECOMMENDED_ARGS:="-Dbamboo.upgrade.fail.if.mysql.unsupported=false"}

4. Start Bamboo

Note: If you are using a Windows service please follow the steps on the document below to add the property instead:

Last modified on Nov 5, 2021

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.