Three-phase Commit (3PC)
Three-phase Commit (3PC)
Pre-requisite: Read about Two-phase commit (2PC), then come back here for better understanding.
- Two-phase commit (2PC) is called a blocking atomic commit protocol due to fact that 2PC can become stuck waiting for the coordinator to recover.
- 3PC assumes a network with bounded delay and nodes with bounded response time.
- In general, nonblocking atomic commit requires a perfect failure detector. I.e. a reliable mechanism for telling whether a node has crashed or not.
- In a network with unbounded delay, a timeout is not a reliable failure detector, because a request may timeout due to a network problem even if no node has crashed.
- For this reason, 2PC continues to be used, despite the known problem with coordinator failure.
Comments
Post a Comment