Bamboo Build plan not building when exceeding COMMIT_FILES.commit_file_name column limit

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Low
    • 12.0.0
    • Affects Version/s: 11.0.5
    • Component/s: Builds
    • None
    • Severity 3 - Minor

      Issue Summary

      Bamboo Build plan not triggering the build when exceeding COMMIT_FILES.commit_file_name column limit ( Default length="1000")

      Steps to Reproduce

      1. Create a plan containing Repository
      2. Make a file within nest folders in side the repository , where the full path name contains more than 1000 characters
      3. commit and push the change to the repository
      4. monitor the Bamboo logs for the ChangeDetectionListenerAction to start 

      Expected Results

      Bamboo should finish change detection and trigger the builds.

      Actual Results

      The below exception is thrown in the atlassian-bamboo.log file:

      2025-11-13 00:22:55,722 INFO [17-BAM::PlanExec:pool-18-thread-2] [AbstractBatchImpl] HHH000010: On release of batch it still contained JDBC statements
      2025-11-13 00:22:55,722 ERROR [17-BAM::PlanExec:pool-18-thread-2] [BatchingBatch] HHH000315: Exception executing batch [java.sql.BatchUpdateException: Batch entry 0 insert into COMMIT_FILES (COMMIT_ID, COMMIT_FILE_NAME, COMMIT_FILE_REIVISION) values (('1507338'::int8), ('JTestfolder_1/JTestfolder_2/JTestfolder_3/JTestfolder_4/JTestfolder_5/JTestfolder_6/JTestfolder_7/JTestfolder_8/JTestfolder_9/JTestfolder_10/JTestfolder_11/JTestfolder_12/JTestfolder_13/JTestfolder_14/JTestfolder_15/JTestfolder_16/JTestfolder_17/JTestfolder_18/JTestfolder_19/JTestfolder_20/JTestfolder_21/JTestfolder_22/JTestfolder_23/JTestfolder_24/JTestfolder_25/JTestfolder_26/JTestfolder_27/JTestfolder_28/JTestfolder_29/JTestfolder_30/JTestfolder_31/JTestfolder_32/JTestfolder_33/JTestfolder_34/JTestfolder_35/JTestfolder_36/JTestfolder_37/JTestfolder_38/JTestfolder_39/JTestfolder_40/JTestfolder_41/JTestfolder_42/JTestfolder_43/JTestfolder_44/JTestfolder_45/JTestfolder_46/JTestfolder_47/JTestfolder_48/JTestfolder_49/JTestfolder_50/JTestfolder_51/JTestfolder_52/JTestfolder_53/JTestfolder_54/JTestfolder_55/JTestfolder_56/JTestfolder_57/JTestfolder_58/JTestfolder_59/JTestfolder_60/JTestfolder_61/JTestfolder_62/JTestfolder_63/JTestfolder_64/JTestfolder_65/JTestfolder_66/JTestfolder_67/JTestfolder_68/JTestfolder_69/JTestfolder_70/S'), ('62273c63f10096374d626d6d3d78e80410499f0c')) was aborted: ERROR: value too long for type character varying(1000)  Call getNextException to see other errors in the batch.], SQL: insert into COMMIT_FILES (COMMIT_ID, COMMIT_FILE_NAME, COMMIT_FILE_REIVISION) values (?, ?, ?)
      2025-11-13 00:22:55,722 WARN [17-BAM::PlanExec:pool-18-thread-2] [SqlExceptionHelper] SQL Error: 0, SQLState: 22001
      2025-11-13 00:22:55,722 ERROR [17-BAM::PlanExec:pool-18-thread-2] [SqlExceptionHelper] Batch entry 0 insert into COMMIT_FILES (COMMIT_ID, COMMIT_FILE_NAME, COMMIT_FILE_REIVISION) values (('1507338'::int8), ('JTestfolder_1/JTestfolder_2/JTestfolder_3/JTestfolder_4/JTestfolder_5/JTestfolder_6/JTestfolder_7/JTestfolder_8/JTestfolder_9/JTestfolder_10/JTestfolder_11/JTestfolder_12/JTestfolder_13/JTestfolder_14/JTestfolder_15/JTestfolder_16/JTestfolder_17/JTestfolder_18/JTestfolder_19/JTestfolder_20/JTestfolder_21/JTestfolder_22/JTestfolder_23/JTestfolder_24/JTestfolder_25/JTestfolder_26/JTestfolder_27/JTestfolder_28/JTestfolder_29/JTestfolder_30/JTestfolder_31/JTestfolder_32/JTestfolder_33/JTestfolder_34/JTestfolder_35/JTestfolder_36/JTestfolder_37/JTestfolder_38/JTestfolder_39/JTestfolder_40/JTestfolder_41/JTestfolder_42/JTestfolder_43/JTestfolder_44/JTestfolder_45/JTestfolder_46/JTestfolder_47/JTestfolder_48/JTestfolder_49/JTestfolder_50/JTestfolder_51/JTestfolder_52/JTestfolder_53/JTestfolder_54/JTestfolder_55/JTestfolder_56/JTestfolder_57/JTestfolder_58/JTestfolder_59/JTestfolder_60/JTestfolder_61/JTestfolder_62/JTestfolder_63/JTestfolder_64/JTestfolder_65/JTestfolder_66/JTestfolder_67/JTestfolder_68/JTestfolder_69/JTestfolder_70/S'), ('62273c63f10096374d626d6d3d78e80410499f0c')) was aborted: ERROR: value too long for type character varying(1000)  Call getNextException to see other errors in the batch.
      2025-11-13 00:22:55,723 ERROR [17-BAM::PlanExec:pool-18-thread-2] [SqlExceptionHelper] ERROR: value too long for type character varying(1000)
      2025-11-13 00:22:55,723 ERROR [17-BAM::PlanExec:pool-18-thread-2] [ChainExecutionManagerImpl] Plan 'TEST-TES' could not be started. Exception: could not execute batch; SQL [insert into COMMIT_FILES (COMMIT_ID, COMMIT_FILE_NAME, COMMIT_FILE_REIVISION) values (?, ?, ?)]; nested exception is org.hibernate.exception.DataException: could not execute batch
      org.springframework.dao.DataIntegrityViolationException: could not execute batch; SQL [insert into COMMIT_FILES (COMMIT_ID, COMMIT_FILE_NAME, COMMIT_FILE_REIVISION) values (?, ?, ?)]; nested exception is org.hibernate.exception.DataException: could not execute batch
      	at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:216) ~[spring-orm-5.3.39-atlassian-4.jar:5.3.39-atlassian-4]
      .........
      Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into COMMIT_FILES (COMMIT_ID, COMMIT_FILE_NAME, COMMIT_FILE_REIVISION) values (('1507338'::int8), ('JTestfolder_1/JTestfolder_2/JTestfolder_3/JTestfolder_4/JTestfolder_5/JTestfolder_6/JTestfolder_7/JTestfolder_8/JTestfolder_9/JTestfolder_10/JTestfolder_11/JTestfolder_12/JTestfolder_13/JTestfolder_14/JTestfolder_15/JTestfolder_16/JTestfolder_17/JTestfolder_18/JTestfolder_19/JTestfolder_20/JTestfolder_21/JTestfolder_22/JTestfolder_23/JTestfolder_24/JTestfolder_25/JTestfolder_26/JTestfolder_27/JTestfolder_28/JTestfolder_29/JTestfolder_30/JTestfolder_31/JTestfolder_32/JTestfolder_33/JTestfolder_34/JTestfolder_35/JTestfolder_36/JTestfolder_37/JTestfolder_38/JTestfolder_39/JTestfolder_40/JTestfolder_41/JTestfolder_42/JTestfolder_43/JTestfolder_44/JTestfolder_45/JTestfolder_46/JTestfolder_47/JTestfolder_48/JTestfolder_49/JTestfolder_50/JTestfolder_51/JTestfolder_52/JTestfolder_53/JTestfolder_54/JTestfolder_55/JTestfolder_56/JTestfolder_57/JTestfolder_58/JTestfolder_59/JTestfolder_60/JTestfolder_61/JTestfolder_62/JTestfolder_63/JTestfolder_64/JTestfolder_65/JTestfolder_66/JTestfolder_67/JTestfolder_68/JTestfolder_69/JTestfolder_70/S'), ('62273c63f10096374d626d6d3d78e80410499f0c')) was aborted: ERROR: value too long for type character varying(1000)  Call getNextException to see other errors in the batch.
      	at org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165) ~[postgresql-42.7.7.jar:42.7.7]
      
      

      Workaround

      •  Increasing the column size to accommodate the extra file name characters 
            ALTER TABLE COMMIT_FILES
            ALTER COLUMN COMMIT_FILE_NAME TYPE VARCHAR(2000); 

            Assignee:
            Mateusz Szmal
            Reporter:
            Vani
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: