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

Participant recovery support is not working

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.next
    • 7.0.2.Final
    • LRA
    • None
    • Documentation (Ref Guide, User Guide, etc.)
    • Fixed an issue with participant recovery support
    • Done

      According to the original Compensating RESTful Transactions specification [1], on which LRA is based, the <compensator URL> must support the following requirement: "Performing a PUT on this URL will overwrite the old <compensator URL> with the new one supplied".

      The LRA implementation does not implement this behaviour correctly. In particular the method to update the compensator callbacks [2] does not construct the provided "recoveryCoordinatorId" [3,4] correctly:

      This feature is required for participant recovery support.

      I will provide a blog post link later that showcases the feature.

      [1] https://developer.jboss.org/docs/DOC-13754
      [2] https://github.com/jbosstm/narayana/blob/7.0.2.Final/rts/lra/coordinator/src/main/java/io/narayana/lra/coordinator/api/RecoveryCoordinator.java#L96
      [3] https://github.com/jbosstm/narayana/blob/7.0.2.Final/rts/lra/coordinator/src/main/java/io/narayana/lra/coordinator/domain/model/LongRunningAction.java#L753
      [4] https://github.com/jbosstm/narayana/blob/7.0.2.Final/rts/lra/coordinator/src/main/java/io/narayana/lra/coordinator/api/RecoveryCoordinator.java#L104

            rhn-engineering-mmusgrov Michael Musgrove
            rhn-engineering-mmusgrov Michael Musgrove
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: