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

LRA does not respect all participant immediate state indications

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • 5.9.5.Final
    • LRA
    • None
    • The coordinator is a REST resource and it expects compensators to return 202 Accepted if the resource update is still in progress.

    Description

      The specification states at https://github.com/eclipse/microprofile-lra/blob/master/spec/src/main/asciidoc/microprofile-lra-spec.adoc#326-eventual-compensations:

      If the resource cannot perform a compensation activity immediately the @Compensate method SHOULD do one or more of the following:
      
      return ParticipantStatus.Compensating
      
      return a 202 Accepted HTTP status code
      
      mark the method as a JAX-RS asynchronous method (using the javax.ws.rs.container.Suspended annotation).
      

      However, Narayana respects only the ACCEPTED status code: https://github.com/jbosstm/narayana/blob/master/rts/lra/lra-coordinator/src/main/java/io/narayana/lra/coordinator/domain/model/LRARecord.java#L323

      The implementation should also cover two other variants.

      Attachments

        Activity

          People

            mstefank Martin Stefanko
            mstefank Martin Stefanko
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: