Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-22575

Fix transaction timeout when paginate getChildren calls in BulkLifeCycleChangeListener

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 8.10-HF08
    • Fix Version/s: 8.10-HF10, 9.2
    • Component/s: Core

      Description

      After adding pagination on getChildren call with NXP-22197, we sometimes have transaction timeout when changing children lifecycle.

      2017-06-20 14:09:41,330 ERROR [Nuxeo-Work-default-3:3851606813540455.1736714873] [org.nuxeo.ecm.core.work.AbstractWork] Exception during work: ListenerWork(Listener bulkLifeCycleChangeListener [lifecycle_transition_event/e4713cfb-df5f-4547-9822-3d310680378f], Progress(?%, ?/0), null)
      org.nuxeo.runtime.transaction.TransactionRuntimeException: Transaction has timed out
      	at org.nuxeo.runtime.transaction.TransactionHelper.checkTransactionTimeout(TransactionHelper.java:223)
      	at org.nuxeo.ecm.core.api.local.LocalSession.getSession(LocalSession.java:106)
      	at org.nuxeo.ecm.core.api.AbstractSession.resolveReference(AbstractSession.java:346)
      	at org.nuxeo.ecm.core.api.AbstractSession.getAllowedStateTransitions(AbstractSession.java:2121)
      	at org.nuxeo.ecm.core.api.impl.DocumentModelImpl$7.run(DocumentModelImpl.java:1005)
      	at org.nuxeo.ecm.core.api.impl.DocumentModelImpl$7.run(DocumentModelImpl.java:1002)
      	at org.nuxeo.ecm.core.api.impl.DocumentModelImpl$RunWithCoreSession.execute(DocumentModelImpl.java:403)
      	at org.nuxeo.ecm.core.api.impl.DocumentModelImpl.getAllowedStateTransitions(DocumentModelImpl.java:1007)
      	at org.nuxeo.ecm.core.lifecycle.event.BulkLifeCycleChangeListener.changeDocumentsState(BulkLifeCycleChangeListener.java:199)
      	at org.nuxeo.ecm.core.lifecycle.event.BulkLifeCycleChangeListener.changeChildrenState(BulkLifeCycleChangeListener.java:180)
      	at org.nuxeo.ecm.core.lifecycle.event.BulkLifeCycleChangeListener.processTransition(BulkLifeCycleChangeListener.java:141)
      	at org.nuxeo.ecm.core.lifecycle.event.BulkLifeCycleChangeListener.handleEvent(BulkLifeCycleChangeListener.java:87)
      	at org.nuxeo.ecm.core.event.impl.AsyncEventExecutor$ListenerWork.work(AsyncEventExecutor.java:218)
      	at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransaction(AbstractWork.java:416)
      	at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransactionAndCheckExceptions(AbstractWork.java:377)
      	at org.nuxeo.ecm.core.work.AbstractWork.run(AbstractWork.java:338)
      	at org.nuxeo.ecm.core.work.WorkHolder.run(WorkHolder.java:57)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:748)
      

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 6 hours
                  6h