[JBoss JIRA] (JBTM-3222) Local LRA lookup should just use the Uid part of the LRA
by Michael Musgrove (Jira)
[ https://issues.jboss.org/browse/JBTM-3222?page=com.atlassian.jira.plugin.... ]
Michael Musgrove updated JBTM-3222:
-----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> 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
> Priority: Major
> 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)