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

Deprecate unknown() method in BA Participant interface

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 4.6.0
    • 4.5.0
    • XTS
    • None
    • Documentation (Ref Guide, User Guide, etc.), Release Notes

      The BA Participant interface defines an unknown() method with the following description

      If the participant enquires as to the status of the transaction it was
      registered with and that transaction is no longer available (has rolled
      back) then this operation will be invoked by the coordination service.

      Status enquiries only occur between participant completion and subsequent close or compensate. If the response to this enquiry is an InvalidState fault then this indicates that the coordinator host has lost all record of the transaction because of a crash, in which case the correct response is to call the participant's compensate() method (this is a correct step in the presumed abort protocol). InvalidState can only be sent if the participant does not exist.

      If GetStatus results in a Status message notifying an unexpected coordinator state (i.e. neither Active nor Compensating nor Compensated) or leads to some other soap fault being sent in reply then the correct response is to call the participant error() method since this represents an unrecoverable protocol error. This type of error is orthogonal to the recovery status of the participant or the coordinator since it can happen before or after a crash on either side (or both sides) and, where there has been a crash, before or after the participant's status is re-established. Consequently, there is no circumstance in which it would be appropriate for unknown() to be called in place of error().

              rhn-engineering-adinn Andrew Dinn
              rhn-engineering-adinn Andrew Dinn
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: