[
https://issues.jboss.org/browse/JBTM-2959?page=com.atlassian.jira.plugin....
]
Michael Musgrove updated JBTM-2959:
-----------------------------------
Fix Version/s: 6.later
(was: 5.next)
Allow different LRA coordinators to share an object store
---------------------------------------------------------
Key: JBTM-2959
URL:
https://issues.jboss.org/browse/JBTM-2959
Project: JBoss Transaction Manager
Issue Type: Enhancement
Components: LRA
Affects Versions: 5.7.1.Final
Reporter: Michael Musgrove
Assignee: Michael Musgrove
Priority: Major
Fix For: 6.later
Currently each LRA coordinator (the component responsible for starting and managing LRAs)
needs its own object store. This can cause problems in dynamic environments where nodes
come and go.
If we embed the node id in the id for an LRA then we can relax this restriction (ie
different coordinators can share a store). This change will also mean that a single
recovery manager can recover LRAs for multiple nodes.
Some notes on the current implementation:
# You may have multiple coordinators for a single tree of transactions (ie nested LRAs
can be managed by a coordinator that is different from the parent).
# There can only be one recovery coordinator per store. Note that this [restriction of
the implementation] does not impact the spec since the mechanics of recovery is a private
matter (ie in the spec we only demand that recovery takes place).
# The only user visible aspect of recovery is the "recovery coordinator URL"
that participants receive when they enlist with the LRA and the implementation of that
endpoint is opaque to the user.
# Provided recovery takes place (ie the correct participant endpoints are called in the
appropriate way) that is all the use needs to know about recovery.
# The administrator can ask for recovering LRAs as follows: `GET {base
uri}/lra-coordinator/?status={Completing|Compensated|etc}` returns a subset of all LRAs
... (this is discussed in the spec in the section called "Interoperability with other
languages").
--
This message was sent by Atlassian Jira
(v7.12.1#712002)