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: Re: [ws-tx] [Fwd: Issue 041: Seemingly arbitrary reactions to protocolerrors]


The commit decision (deliberately in lower case) is not made until the commit log is written. If the log write fails then we abort.

Therefore, any state prior to Committing or Aborting is prior to the commit decision. There are three possible states which follow the event User Commit en route to a commit decision.

1. Preparing, before Prepared received
2. Preparing, after a Prepared has been received, but before the overall coordinator's Commit Decision event
3. Prepared Success, which is entered when the overall coodinator makes it volatile decision to commit (Commit Decision event), and initiates a log write.

Commit is not sent out until we move into state Committing, after the log write succeeds.

Therefore, receipt of Committed prior to Committing is a protocol violation.

We have no idea what this early Committed means (back to the other thread re single and double bugs) and we should cut and run, just like with all other protocol violations.

The distinctive reaction in state 3 is unjustifiable.

Alastair


Ram Jeyaraman wrote:
Alastair,
 
> Why does reception of Committed during Preparing by Coordinator View 
lead to state Aborting, when reception of Committed during Prepared 
Success leads to "same state", i.e staying in Prepared Success?

 

The arrival of a Committed message from a participant who has not been told to commit is a protocol violation. That is, the participant has acted unilaterally. The decision to send a Commit or Abort to the participant may have been taken (asynchronously), but it has not been enacted, meaning, a Commit or Abort message has not been sent out (possibly log write is in progress). The enactment of the commit decision (upon successful Write Done internal event) would trigger the state transition from Prepared Success to Committing or Aborting states.

 

Sending an Inconsistent Internal State fault (as opposed to Invalid State) distinguishes this case because it is no longer possible to change the outcome.

 

> If Committed might be the right answer, but it comes before the question 
has been asked, why treat it as the wrong answer while preparing, but as 
a potentially correct answer when prepared?

 

Yes, it is possible to optimize the behavior. But it is an implementation choice.

 

 

From: Alastair Green [mailto:alastair.green@choreology.com]
Sent: Tuesday, August 08, 2006 5:53 AM
To: ws-tx@lists.oasis-open.org
Subject: [ws-tx] [Fwd: Issue 041: Seemingly arbitrary reactions to protocol errors]

 

Fourth reposting.

-------- Original Message --------

Subject:

Issue 041: Seemingly arbitrary reactions to protocol errors

Date:

Tue, 01 Aug 2006 07:32:55 +0100

From:

Alastair Green <alastair.green@choreology.com>

To:

ws-tx@lists.oasis-open.org <ws-tx@lists.oasis-open.org>

 

Question:
 
Why does reception of Committed during Preparing by Coordinator View 
lead to state Aborting, when reception of Committed during Prepared 
Success leads to "same state", i.e staying in Prepared Success?
 
Turn the question around:
 
If Committed might be the right answer, but it comes before the question 
has been asked, why treat it as the wrong answer while preparing, but as 
a potentially correct answer when prepared?
 
Supplementary question:
 
Did the authors intend to accommodate races between the coordinator and 
over-eager participants?
 
Alastair
 


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