Details
-
Component Upgrade
-
Resolution: Unresolved
-
Major
-
None
-
5.10.4.Final
-
None
Description
When the AfterLRA method returns different response codes than 200 the LRA is recovered in the next recovery run in the Closing/Compensating state. The state reported in the AfterLRA is correct (Closed/Canceled) but the status reported by the coordinator at /lra-coordinator is reported as Closing/Canceling which is breaking the LRA status model as the LRA transitions are Active -> Closing -> Closed -> (now the AfterLRA phase starts) -> Closing -> (now the AfterLRA phase finishes) -> Closed.
I wrote a test that reproduces this - https://github.com/xstefank/narayana/commit/55a151ad78ef98c82ac3580a6818901a03c2e556