Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-8524

OwnableReentrantLock can't recognize two different but equal transaction objects as the same transaction

    Details

      Description

      The transaction manager is allowed to create more than one Transaction object for an imported transaction, and has been observed to do so in at least distributed JTA cases if not other cases.

      The JTA specification says that the equals method must return true for two objects that refer to the same transaction. Therefore OwnableReentrantLock must use equals() on its owner argument.

      As an aside, that class should probably also null-check its owner object on lock() to avoid weird states.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  tomekadamski Tomasz Adamski
                  Reporter:
                  dmlloyd David Lloyd
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: