[JBoss JIRA] (JBTM-3222) Local LRA lookup should just use the Uid part of the LRA
by Michael Musgrove (Jira)
Michael Musgrove created JBTM-3222:
--------------------------------------
Summary: Local LRA lookup should just use the Uid part of the LRA
Key: JBTM-3222
URL: https://issues.jboss.org/browse/JBTM-3222
Project: JBoss Transaction Manager
Issue Type: Bug
Components: LRA
Affects Versions: 5.10.0.Final
Reporter: Michael Musgrove
Assignee: Michael Musgrove
Fix For: 5.next
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().
--
This message was sent by Atlassian Jira
(v7.13.8#713008)