Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-27733

Deadlocks when re-ordering Dynamic Tasklist

XMLWordPrintable

      Using Confluence 4.3.2 and Dynamic task list 4.1.3. Dragging to re-order a task in a Dynamic Task List produces the following errors in the log:

      2013-01-10 16:43:43,972 ERROR [TP-Processor2] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Deadlock found when trying to get lock; try restarting transaction
      – url: /plugins/servlet/tasklist | userName: username | referer: https://...
      2013-01-10 16:43:43,976 ERROR [TP-Processor2] [sf.hibernate.impl.SessionImpl] execute Could not synchronize database state with session
      – url: /plugins/servlet/tasklist | userName: username | referer: https://...
      2013-01-10 16:43:43,981 ERROR [TP-Processor2] [ContainerBase.[Standalone].[localhost].[/]] log Unhandled exception occurred whilst decorating page
      – url: /plugins/servlet/tasklist | userName: username | referer: https://...
      org.springframework.dao.ConcurrencyFailureException: Hibernate operation: could not update: com.atlassian.confluence.pages.Page#75956371; SQL []; Deadlock found when trying to get lock; try restarting transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
      at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:109)
      at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
      at org.springframework.orm.hibernate.HibernateTransactionManager.convertJdbcAccessException(HibernateTransactionManager.java:619)
      at org.springframework.orm.hibernate.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:605)
      .
      .
      .
      Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction

      Verified in latest Chrome, Firefox, and IE8 and in an environment with no third-party plugins installed.

      Steps to Reproduce

      1. Create a page
      2. Add a dynamic task list macro with no data, then save the page.
      3. Add the following tasks into the task list:
        • test
        • test2
      4. Drag test so that it sits below test2, then drag test again so that it sits back up at the top of test2.

      You will notice the deadlock errors after doing that.

      Fix

      This is no longer reproducible in Dynamic Tasklist 2 version 4.1.6 which is bundled with Confluence 5.0.1 and up

              Unassigned Unassigned
              662b96d6b1d3 Kelli Carlson
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: