[
https://issues.jboss.org/browse/JBTM-2997?page=com.atlassian.jira.plugin....
]
Michael Musgrove edited comment on JBTM-2997 at 10/29/18 7:39 AM:
------------------------------------------------------------------
Here are some notes I added about different coordinators accessing the same LRA record:
Up until the time that the state moves to Compensating/Compensated anyone should be able
to update an LRA record. After that we need to assign an owner (ie the coordinator that is
driving the termination phase) and there needs to be a component that monitors that owners
progress (assigning a new owner if it it fails). I don't think we need to worry about
things like network partitions since the participant callbacks are meant to be idempotent.
In recovery scenarios I would just write a timestamp into the record on each recovery pass
and monitor that. In fact the presence of that timestamp would imply that there is a
current owner and other coordinators need to leave it alone and only take over if it stops
being updated.
Since STM/LockRecords ought to work for all store types I think we should definitely
consider their use.
was (Author: mmusgrov):
Here are some notes I added about different coordinators accessing the same LRA record:
Up until the time that the state moves to Compensating/Compensated anyone should be able
to update an LRA record. After that we need to assign an owner (ie the coordinator that is
driving the termination phase) and there needs to be a component that monitors that owners
progress (assigning a new owner if it it fails). I don't think we need to worry about
things like network partitions since the participant callbacks are meant to be idempotent.
In recovery scenarios I would just write a timestamp into the record on each recovery pass
and monitor that. In fact the presence of that timestamp would imply that there is a
current owner and other coordinators need to leave it alone and only take over if it stops
being updated.
To summarise, I would just write the owner/timestamp into the record when the state change
is written and periodically update it thereafter. Any other coordinator that gets a
request to close/cancel the LRA (this includes period recovery) should only take control
if the owner/timestamp stops being updated.
Since STM/LockRecords ought to work for all store types I think we should definitely
consider their use.
Ensure that any LRA coordinator can control any LRA
---------------------------------------------------
Key: JBTM-2997
URL:
https://issues.jboss.org/browse/JBTM-2997
Project: JBoss Transaction Manager
Issue Type: Feature Request
Components: LRA
Affects Versions: 5.8.0.Final
Reporter: Michael Musgrove
Assignee: Michael Musgrove
Priority: Major
Fix For: 5.later
Currently the management of an LRA is restricted to the coordinator that created it. It
would be preferable to have the option of allowing any coordinator be able to manage any
LRA. The motivation for this feature is to enhance the usability of LRAs in cloud based
environments.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)