Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-3082

Coordinator reports LRA as compensating when the participant is not able to finish complete method invocation immediately

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 5.9.7.Final
    • 5.9.0.Final
    • LRA
    • None
      1. URL lraId = client.startLRA(...);
      2. client.joinLRA(...);
      3. client.completeLRA(lraId);
      4. 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

              rhn-engineering-mmusgrov Michael Musgrove
              mstefank Martin Stefanko
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: