Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

A transaction is a set of operations that should happen atomically. Exactly which operations that may include is up for discussion, but think reads, writes, deletes, and possibly index lookups for now.

Warning: This page uses the term coordinator in the 2PC sense: the role of coordinating the execution of a transaction. This differs from Coordinator, the role of coordinating the RAMCloud cluster.

Contents:

Table of Contents

...

  • If a participant crashes before sending a commit acknowledgement (step 10):
    It comes back up and has no record of the transaction. When the master resends it the decision, it simply agrees.

Optimization: Client coordinates transaction

Ignacio pointed out that this is how Sinfonia does it, and it allows for better latency on the critical path. They block on memory node (master) failures so that the coordinator has to keep no state. We should explore the trade-offs.