Nicola Ferraro created JBTM-2977:
Summary: Participants should not be told to compensate after completion
Project: JBoss Transaction Manager
Issue Type: Bug
Affects Versions: 5.7.1.Final
Reporter: Nicola Ferraro
Assignee: Michael Musgrove
When a LRA is closed the coordinator behaves incorrectly if a participant is slow to
While the call to "/complete" is still ongoing, the coordinator (recovery
module) may issue a second call to "/compensate", making it impossible for the
participant to determine when a LRA is really closed.
The LRA coordinator must choose a single outcome for the LRA and be consistent with that
(retrying until all participants are in status complete/failedtocomplete in this case).
A second minor problem is that the call to "/close" is synchronous, and the
caller is kept attached forever if the participant does not respond to
"/complete". It would be better to establish a timeout and return a
"Completing" status if not all participant are done in time.
I attach few simple steps to reproduce it with shell commands.
This message was sent by Atlassian JIRA