CAPABILITY and NOTIFICATIONS table access with Empty values causes (Oracle) Deadlock

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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

Symptoms

A Bamboo instance running on Oracle deadlocks periodically. Errors like the following appear in the logs:

1 2 3 4 5 6 7 8 9 10 11 2010-03-03 14:17:58,361 WARN [BAM::Events:pool-1-thread-213] [JDBCExceptionReporter] SQL Error: 60, SQLState: 61000 2010-03-03 14:17:58,361 ERROR [BAM::Events:pool-1-thread-213] [JDBCExceptionReporter] ORA-00060: deadlock detected while waiting for resource 2010-03-03 14:17:58,361 ERROR [BAM::Events:pool-1-thread-213] [SessionImpl] Could not synchronize database state with session 2010-03-03 14:17:58,367 ERROR [BAM::Events:pool-1-thread-213] [NamedThreadFactory] Uncaught exception in thread BAM::Events:pool-1-thread-213 org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not update: com.atlassian.bamboo.v2.build.agent.capability.CapabilityImpl#196609; uncategorized SQLException for SQL []; SQL state [61000]; error code [60]; ORA-00060: deadlock detected while waiting for resource ; nested exception is java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource Caused by: java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)

Issue Details

Issue: BAM-5456 - CAPABILITY and NOTIFICATIONS table access with Empty values causes (Oracle) Deadlock in larger instances

Fixed In: 2.6

Issue https://extranet.atlassian.com/jira/browse/BDEV-3741, fixed in 5.3

Cause

There is a known bug that occurs when there are capabilities or notifications that have NULL values

The issue seems to occur only on Oracle database, as it stores empty string values as NULL.

Resolution

As this bug is now fixed we recommend upgrading Bamboo to at least 5.3.

Otherwise, you can look for null values or empty strings in the Capability and Notifications tables, and then either delete the values or set them to a non-null value.

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.