Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-3283

DefaultISMLocking of VersionManager will not be release if some RuntimeException occurs during rollback

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.2
    • 2.2
    • jackrabbit-core
    • None
    • WinXP + JBoss + Oracle

    Description

      In TransactionContext.rollback(), every InternalXAResource is supposed to rollback its pervious action.
      The problem is during the iterator on the InternalXAResources, TransactionContext only catches TransactionException. In most case, it should be ok. But if some RuntimeException occurs in one of the InternalXAResource, the latter InternalXAResource will have no chance to rollback its previous action.
      In my case, following RuntimeException happened during the rollback process of XAItemStateManager, the result is VersionMgr.getXAResourceEnd() will not have chance to do roll back, make the DefaultISMLocking is not released from current thread.
      All the latter thread that want to acquire the lock of VersionManager is blocked for ever.
      12:30:13,639 ERROR [STDERR] java.util.ConcurrentModificationException
      12:30:13,639 ERROR [STDERR] at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761)
      12:30:13,639 ERROR [STDERR] at java.util.LinkedList$ListItr.next(LinkedList.java:696)
      12:30:13,639 ERROR [STDERR] at org.apache.jackrabbit.core.persistence.util.NodePropBundle.createNodeState(NodePropBundle.java:159
      12:30:13,639 ERROR [STDERR] at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundle
      r.java:404)
      12:30:13,639 ERROR [STDERR] at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:
      12:30:13,639 ERROR [STDERR] at org.apache.jackrabbit.core.state.SharedItemStateManager.access$12(SharedItemStateManager.java:1814
      12:30:13,639 ERROR [STDERR] at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.cancel(SharedItemStateManager.java:
      12:30:13,639 ERROR [STDERR] at org.apache.jackrabbit.core.state.XAItemStateManager.rollback(XAItemStateManager.java:197)
      12:30:13,639 ERROR [STDERR] at org.apache.jackrabbit.core.TransactionContext.rollback(TransactionContext.java:243)
      12:30:13,639 ERROR [STDERR] at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:167)
      12:30:13,639 ERROR [STDERR] at org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:311)

      Attachments

        Activity

          People

            Unassigned Unassigned
            licheng Li Cheng
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: