A New Presumed Commit Optimization for Two Phase Commit

  • Butler Lampson ,
  • David Lomet

19th International Conference on Very Large Data Bases (VLDB '93) |

Published by Morgan Kaufmann Publishers | Organized by VLDB Foundation

ISBN 1-55860-152-X

Publication

Two phase commit (2PC) is used to coordinate the commitment of transactions in distributed systems. The standard 2PC optimization is the presumed abort variant, which uses fewer messages when transactions are aborted and allows the coordinator to forget about aborted transactions. The presumed commit variant of 2PC uses even fewer messages, but its coordinator must do additional logging. We describe a new form of presumed commit that reduces the number of log writes while preserving the reduction in messages, bringing both these costs below those of presumed abort. The penalty for this is the need to retain a small amount of crash related information forever.