[jbossts-issues] [JBoss JIRA] Created: (JBTM-490) Deprecate unknown() method in BA Participant interface

Andrew Dinn (JIRA) jira-events at lists.jboss.org
Mon Feb 16 07:08:44 EST 2009

Deprecate unknown() method in BA Participant interface

                 Key: JBTM-490
                 URL: https://jira.jboss.org/jira/browse/JBTM-490
             Project: JBoss Transaction Manager
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: WS-T Implementation
    Affects Versions: 4.5
            Reporter: Andrew Dinn
            Assignee: Andrew Dinn
             Fix For: 4.6

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().

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbossts-issues mailing list