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] Interop scenario doc - scenario 5.1


Doug,

 

The changes you note below seems quite reasonable and correct.

 

If there are no objections, I will update the scenarios doc to reflect the changes below.

 

On why PS1 is used: During the last F2F one of the members mentioned that there be at least 2 participants in this scenario.

 

Thank you.

 

From: Doug Davis [mailto:dug@us.ibm.com]
Sent: Tuesday, June 27, 2006 2:05 PM
To: ws-tx@lists.oasis-open.org
Subject: [ws-tx] Interop scenario doc - scenario 5.1

 


For scenario 5.1 ReplayCommit it current shows this flow:

Initialization

IA sends an application message tns:ReplayCommit request to PA containing CoordinationContext.
PA registers PS1 and PS2 with CS for a Durable2PC protocol.
PA responds with an application reply tns:Response.

Message Exchange

        (IA initiates Commit)

  1. CS sends Durable2PC::Prepare to PS1
  1. PS1 sends Durable2PC::Prepared to CS
  1. CS sends Durable2PC::Prepare to PS2
  1. PS2 sends Durable2PC::Prepared to CS
  1. CS sends Durable2PC:Commit to PS1
  1. PS1 sends Durable2PC::Committed to CS
  1. CS sends Durable2PC::Commit to PS2
    (CS commits the transaction. PS2 suffers from internal failure)
  1. Upon recovery, PS2 sends 2PC::Prepared to CS
  1. CS re-sends Durable2PC::Commit to PS2
  1. PS2 sends Durable2PC::Committed to CS


I believe this is wrong.
1 - The "(CS commits the transaction)" should come after step 10 - meaning the Coordinator should not exit the "Committing" stage until it receives Committed from all of the participants
2 - Something should block resent "Commit" messages from the Coordinator (if any) until PS2 has a chance to resend its "Prepared" message - since the point of the test is how the Coordinator deals with extra Prepared messages while in the Committing stage.

Not sure who has the pen but i think we should update the doc to correct this - something like:

  1. CS sends Durable2PC::Prepare to PS1
  1. PS1 sends Durable2PC::Prepared to CS
  1. CS sends Durable2PC::Prepare to PS2
  1. PS2 sends Durable2PC::Prepared to CS
  1. CS sends Durable2PC:Commit to PS1
  1. PS1 sends Durable2PC::Committed to CS
  1. CS sends Durable2PC::Commit to PS2
    (PS2 suffers from internal failure)
    (PA prevents any resent Commit from reaching PS2 - simulating failure)
  1. Upon recovery, PS2 sends 2PC::Prepared to CS
  1. CS re-sends Durable2PC::Commit to PS2
  1. PS2 sends Durable2PC::Committed to CS
    (CS commits the transaction)


Not sure what the purpose of PS1 is (and would prefer to remove it) but oh well  :-)

thanks
-Doug



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