-
Bug
-
Resolution: Done
-
Major
-
5.9.0.Final
-
None
-
- URL lraId = client.startLRA(...);
- client.joinLRA(...);
- client.completeLRA(lraId);
- client.getStatus(lraId);
If the participant cannot finish the complete method invocation immediately and thus returns 202 ACCEPTED return code and then somebody calls get status of the finishing LRA, the coordinator reports it as CompensatorStatus.Compensating instead of CompensatorStatus.Completing.
The status of the finishing LRA is changed to Compensating here [1] possibly because of this line [2] as heuristicList is not empty.
[1] https://github.com/jbosstm/narayana/blob/master/rts/lra/lra-coordinator/src/main/java/io/narayana/lra/coordinator/domain/model/Transaction.java#L404
[2] https://github.com/jbosstm/narayana/blob/master/rts/lra/lra-coordinator/src/main/java/io/narayana/lra/coordinator/domain/model/LRARecord.java#L387