-
Type:
Bug
-
Resolution: Invalid
-
Priority:
High
-
Affects Version/s: 10.2.0
-
Component/s: Database (MySQL)
-
None
-
Severity 1 - Critical
Issue Summary
MySql 8.x has a limit of 3072 bytes in an index.
Upgrading to Bamboo 10.2 attempts to modify table NOTIFICATIONS, column RECIPIENT to varchar(1000). This change overflows the 3072 byte limit
This is reproducible on Data Center: yes
Note: Very similar to BAM-25835, which was fixed in 10.1.0 and applied to all DBs. This issue applies ONLY to MySql.
Steps to Reproduce
create database testdb;
use testdb;
create table myTable (myColumn VARCHAR(255), INDEX (myColumn));
ALTER TABLE myTable MODIFY COLUMN myColumn varchar(1000);
Expected Results
Column should be changed to varchar(1000)
Actual Results
Error Code: 1071. Specified key was too long; max key length is 3072 bytes
The below exception is thrown in the atlassian-bamboo.log file:
2025-01-09 15:21:11,855 INFO [main] [AbstractUpgradeManager] 100103 : Extend Notification - Recipient column size to 1000 characters (bootstrap) 2025-01-09 15:21:11,855 INFO [main] [AbstractUpgradeManager] ----------------------------------------------------------------------------------- 2025-01-09 15:21:11,867 ERROR [main] [AbstractUpgradeManager] java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 3072 bytes java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 3072 bytes
Workaround
- Stop Bamboo
- In the 10.2.0 installation folder, locate the <bamboo-install>/atlassian-bamboo/WEB-INF/classes/upgrade.xml file
- Modify it so the following entry is commented:
<!-- Version 10.1 (starts with 100100) --> <!-- upgrade build="100103" class="com.atlassian.bamboo.upgrade.tasks.v10_1.UpgradeTask100103ExtendNotificationRecipientColumnSize"/ --> - Modify the Bamboo DB schema manually via SQL commands:
ALTER TABLE NOTIFICATIONS MODIFY COLUMN RECIPIENT VARCHAR(750);
- Start Bamboo 10.2.0
- mentioned in
-
Page Loading...