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: Inconsistent Internal State]


Ram,

Unfortunately, the text you propose does not describe what is really going on, or rather: it assumes far too much about the coherence of the surrounding global machine..

How do you know that the outcome of the transaction is known, when an individual participant receives a contradictory instruction (Commit after Rollback, for example)?

How do you know that the overall coordinator has decided the outcome?

You know nothing about the state of the overall transaction at this point. The bug might be before outcome decision, after outcome decision, the outcome decision might not exist in any real sense (non-atomic), it might arise from coordinator logic error, it might arise because the coordinator fails to screen out contradictory application instructions etc etc.

Once again, if this happens, all bets are off.

IIS is just a synonym for IS, and should go.

Alastair

Ram Jeyaraman wrote:

Alastair,

 
> What is so special about this bug, that it requires its very own fault type?

 

The Inconsistent Internal State fault distinguishes the fact that a protocol violation has occurred after it is no longer possible to change the outcome of the transaction.

 

As we know, the Inconsistent Internal State fault is already defined in the specification (albeit the original definition does not quite convey its intended purpose), and has currently been implemented and being used in practice.

 

The proposed resolution described below, merely clarifies its original intended meaning:

 

This fault is sent by a participant or coordinator to indicate that a protocol violation has been detected after it is no longer possible to change the outcome of the transaction. This is indicative of a global consistency failure and is an unrecoverable condition."

 

Further, the cells in the CV table need to be throw Inconsistent Internal State fault.

 

1. {ReadOnly; PreparedSuccess, Committing}
2. {Aborted; PreparedSuccess, Committing}

3. {Committed; PreparedSuccess, Aborting}

 

Note to Editors: Replace the use of InconsistentInternalState fault with Inconsistent Internal State in all occurrences in the specification.

 

From: Alastair Green [mailto:alastair.green@choreology.com]
Sent: Tuesday, August 08, 2006 5:52 AM
To: ws-tx@lists.oasis-open.org
Subject: [ws-tx] [Fwd: Issue 041: Inconsistent Internal State]

 

Third reposting

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

Subject:

Issue 041: Inconsistent Internal State

Date:

Tue, 01 Aug 2006 07:31:11 +0100

From:

Alastair Green <alastair.green@choreology.com>

To:

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

 

Inconsistent Internal State is defined thus:
 
"This fault is sent by a participant to indicate that it cannot fulfill 
its obligations.  This indicates a global consistency failure and is an 
unrecoverable condition."
 
It is only used, in fact, to mean: "Coordinator has already instructed 
participant to Commit or Rollback, but is now saying the opposite".
 
This is a condition that simply cannot arise, other than by bug. A 2PC 
coordinator cannot change its mind once it has issued an outcome message.
 
What is so special about this bug, that it requires its very own fault type?
 
Alastair
 
 
 


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