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

Verify Compensator connection before enlisting to LRA

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Unresolved
    • Optional
    • None
    • None
    • LRA
    • None

    Description

      The current implementation of enlisting a client (Compensator) has a strong assumption of the fact that the LRA Coordinator can send HTTP requests back to the Compensator.

      That means if the connection is wired wrong - i.e. the Coordinator cannot actually "see" the client - it is discovered only after the LRA is finished or compensated, which can be too late in the process and therefore put the system in an inconsistent state.

      What I propose is some system for verifying the connection ahead of time to prevent enlisting the client if the test fails - possibly also cancelling the entire LRA.

      I would imagine it as follows:

      When a Compensator tries to enlist itself, along with the other urls in the Link header, it MAY also provide a "ping" url. If it does, the Coordinator MUST perform a GET request to it before enlisting the Compensator and, unless it receives an OK response, reply with some failure status code and cancel the LRA.

      Attachments

        Activity

          People

            mstefank Martin Stefanko
            papooch Ondřej Švanda (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: