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

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

    XMLWordPrintable

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.

      Attachments

        Issue Links

          Activity

            People

              tadamski@redhat.com Tomasz Adamski
              dlloyd@redhat.com David Lloyd
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: