Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-7354 Upgrade JBoss Cache to 3.2.11
  3. JBPAPP-9624

Race condition when automatically creating parent nodes during locking fails to get lock

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Done
    • Icon: Major Major
    • EAP_EWP 5.2.0
    • EAP_EWP 5.1.2
    • Clustering
    • None
    • Release Notes
    • Hide
      When two threads attempted to create the same parent node at the same time, a race condition on locking occurred in JBoss Cache. As a result, one of the threads did not acquire a lock on the node, which could later lead to a deadlock. With this update, the threads now confirm that they created and have a write lock on the node and the deadlock no longer occurs.
      Show
      When two threads attempted to create the same parent node at the same time, a race condition on locking occurred in JBoss Cache. As a result, one of the threads did not acquire a lock on the node, which could later lead to a deadlock. With this update, the threads now confirm that they created and have a write lock on the node and the deadlock no longer occurs.
    • Documented as Resolved Issue
    • NEW

      Bug/race condition in JBoss Cache PessimisticUnversionedNode#addChildAndAcquireLock.
      If two threads try to create the same node at the exact same time, one thread creates it and gets a write lock.
      The other thread does not create a node, but returns the previously created node and does not lock it.

      The only caller PessimisticNodeBasedLockManager assumes the node was both created and locked after the call returns.

              rhn-support-dereed Dennis Reed
              rhn-support-dereed Dennis Reed
              Eva Kopalova Eva Kopalova (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: