Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-3222

Local LRA lookup should just use the Uid part of the LRA

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 5.10.1.Final
    • 5.10.0.Final
    • LRA
    • None

      The LRA implementation identifies LRA's by their full JAX-RS resource path (aka URI). [Remark we use the full resource path in order to determine which host owns the LRA]. But when these URI's are calculated sometimes the base URI ends up as localhost and other times as 127.0.0.1 (or :1). The code in the coordinator that wants to know if it owns an LRA should avoid checking the whole path and instead just rely on the Uid part of the resource path (com.arjuna.ats.arjuna.common.Uid). This is safe since the URI is globally unique. Note that this technique only works for LRA ids created by narayana which is fine because the code that does the lookup is only interested in whether the local coordinator created the LRA (tangentially related but it is also noteworthy that we are not targeting interoperability in LRA version 1.0

      The particular code that does the lookup is in LRAService#getTransaction().

              rhn-engineering-mmusgrov Michael Musgrove
              rhn-engineering-mmusgrov Michael Musgrove
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: