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

Deadlocks when re-ordering Dynamic Tasklist

    XMLWordPrintable

Details

    Description

      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

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: