6.Three Phase Commit- The Idea
3PC prevents blocking in the absence of communications failures (unrealistic, but …). It can be made resilient to communications failures, but then it may block
3PC is much more complex than 2PC, but only marginally improves reliability — prevents some blocking situations.
3PC therefore is not used much in practice
Main idea: becoming certain and deciding to commit are separate steps.
3PC ensures that if any operational process is uncertain, then no (failed or operational) process has committed.
So, in the termination protocol, if the operational processes are all uncertain, they can decide to abort (avoids blocking).