Client-Side Transactions

  1. Client reads A, B, C
  2. Client reserves txid
  3. Client writes A, B, C with lien to txid for some time (how long? see below)
  4. Client writes T with (A', B', C') at txid
  5. Client writes A' into A, B' into B, C' into C
  6. Client deletes T

Server-Side Transactions (2PC)

  1. Client sends MT to master
  2. Master writes transaction object with list of participants, acquiring a txid
  3. Master sends txid, MT to all participants
  4. Participants lock objects and log MT
  5. Participants send vote
  6. Master writes decision in table
  7. Master relays decision to participants
  8. Master relays to client
  9. Participants commit
  10. Participants acknowledge
  11. Master removes transaction object