- 2PC cannot dependably recover from a failure of both the coordinator and a participant during the commit phase.
- Add a new phase (prepared-to-commit phase) in the middle of the original 2 phases in 2PC.
- Provide a dependable recovery solution from a participant failure or both coordinator and participant failure during commit phase.
- Prepared-to-commit phase reduces a participant's uncertainty as to the outcome of the transaction.
- It is a non-blocking protocol.
- Cannot guarantee atomicity.
- Long latency to complete each transaction (Needing a minimum of three round trip times).
Topic | Consideration | Possible Solution Options |
---|
- Web Article: Three-phase commit protocol | https://en.wikipedia.org/wiki/Three-phase_commit_protocol
- Web Article: What is a 3 phase commit / 3pc? | https://www.xenovation.com/blog/development/java/java-professional-developer/what-is-a-three-phase-commit-3pc
- Book: Sacha K.(2009). Chapter 9 Transactions, Middleware Architecture with Patterns and Frameworks (pp. 9-1 - 9-35).