1 / 6

Session 3 Addendum: More on Transactions

Distributed Systems. Session 3 Addendum: More on Transactions. CSC 253 Gordon Blair, François Ta ïani. Distributed Transaction: An Example. client. H. C. book hotel NYC 1 week. book flight Paris-NYC. End_Transaction. Begin_Transaction. option on 1 week. available. OK. Co. available.

Download Presentation

Session 3 Addendum: More on Transactions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Systems Session 3 Addendum:More on Transactions CSC 253 Gordon Blair, François Taïani

  2. Distributed Transaction:An Example client H C book hotel NYC 1 week book flight Paris-NYC End_Transaction Begin_Transaction option on 1 week available OK Co available option on 1 seat Begin_Transactionbook hotel NYC 1 week book flight Paris-NYCEnd_Transaction Begin_Transactionbook hotel NYC 1 week book flight Paris-NYCEnd_Transaction Begin_Transactionbook hotel NYC 1 week book flight Paris-NYCEnd_Transaction Begin_Transactionbook hotel NYC 1 week book flight Paris-NYCEnd_Transaction Begin_Transactionbook hotel NYC 1 week book flight Paris-NYCEnd_Transaction coordinator F participants(servers) G. Blair/ F. Taiani

  3. commit commit yes:Th yes:Tf (a) Commit Succeeds client H C canCommit? doCommit haveCommited yes Co Transaction OK canCommit? yes doCommit haveCommited What was it again? Begin_Transactionbook hotel NYC 1 week book flight Paris-NYCEnd_Transaction F participants(servers) G. Blair/ F. Taiani

  4. Important Points • Once the coordinator has sent doCommit only a commit is possible • If one of the participants fails: • Transaction is blocked until the participant resumes • Consistency is ensured because of transaction state being saved on stable storage • On resuming the failed participants check its disk to know which transactions to ask the coordinator about • Many details not represented • The coordinator uses stable storage as well against failure • Distributed locking protocol omitted • Typically multiple clients performing transaction at the same time G. Blair/ F. Taiani

  5. abort abort Transaction failed (b) Commit Fails client H C canCommit? abort Co canCommit? yes What was it again? abort Begin_Transactionbook hotel NYC 1 week book flight Paris-NYCEnd_Transaction F yes:Tf participants(servers) G. Blair/ F. Taiani

  6. Important Points • Same basic mechanisms as when everybody agrees • Except here no need to wait for failed servers: • It is the responsibility of the failed servers to catch up • The failed server still need to check with the coordinator • It does not know the outcome of the transaction • The transaction could have succeeded G. Blair/ F. Taiani

More Related