OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-tx message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Issue 078 -WS-AT: state table event to model forced abort


This is identified as WS-TX issue 078.

 

Please ensure follow-ups have a subject line starting "Issue 078 -WS-AT: state table event to model forced abort".

 

 

From: Peter Furniss [mailto:peter.furniss@erebor.co.uk]
Sent: Monday, July 10, 2006 1:06 PM
To: Ram Jeyaraman
Subject: new issue - ws-at - state table event to model forced abort

 

Issue name -- WS-AT: state table event to model forced abort
 
PLEASE DO NOT REPLY TO THIS EMAIL OR START A DISCUSSISON THREAD UNTIL THE ISSUE IS ASSIGNED A NUMBER.
 
The issues coordinator will notify the list when that has occurred.
 
Target document and draft:
 
Protocol:  WS-AT
 
Artifact:  spec
 
Draft:  AT spec cd 2
 
Link to the document referenced:
 
http://www.oasis-open.org/committees/download.php/18889/wstx-wsat-1.1-spec-cd-02.doc

 

Section and PDF line number:  section 10, coordinator view state table
 

 

Issue type:  Editorial
 

 

Related issues:
 
Issue 036 : WS-AT - Coordinator state machine incomplete
Issue 048 : WS-AT - Internal events and actions undefined
New issues:
 
Issue Description:
 
There is no internal event that models the issue of Rollback to a Participant when another Participant delivers Aborted, thus causing the transaction to abort.

 

Issue Details

 

A coordinator on receiving Aborted from one Participant when in Active or Preparing should  initiate rollback to all participants. But the state table just causes that one CV to initiate action Forget and transit to Aborting. The only internal event in the CV table which would send Rollback to the other participants at that point is Expires times out. (this used not be the case, since User Rollback did to).  The Participant table does have an action "Initiate Rollback" which is what we need.
 
 
Proposed resolution
 
A) Add an internal event to CV table "Initiate Rollback", and add this as an action in the Aborted/Active and Aborted/Preparing cells.

 

The internal event Initiate Rollback causes Send Rollback, Aborting in Active and Preparing states, and is ignored in Aborting, can't happen in Committing.
 
(it is an interpretation rule that the actions and state transitions of a cell complete before any initiated internal events occur - consequently the CV state for the participant from which Aborted was received will be in Aborting when the Initiate Rollback is actioned, and will not be sent Rollback, which aligns with the state diagram.)
 
A stylistic change would then be to make Expires Times Out use Inititate Rollback, rather than do the work for itself (since Expires Times out is "node-wide", it could be left as it is, but it's generally neater to reuse something that is already there, thus, additionally:

 

B) Change the Expires Times Out/Active and /Preparing to action Initiate Rollback, staying in the same state.

 

 

 


 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]