290,380 views
7 votes
7 votes
What is the purpose behind the Three Phase Commit? It improves upon the two phased commit by requiring that locks be acquired at the start of a transaction. It allows for coordination even in the event of unreliable network connections. It ensures that no shared locks are help by other connections in the event of a write operation. None of the above.

User Sherwyn
by
3.4k points

1 Answer

15 votes
15 votes
The answer is a) It improves upon the two-phased commit by requiring that locks be acquired at the start of a transaction.

Reason: The 3PC is an extension or you can say developed from 2PC that avoids blocking of an operation. It just ensures that first n sites have intended to commit a transaction that means it acquires commits or locks before the start of any transaction to avoid any blocking.

Option b) is wrong as it does not allow coordination, it just let all the other sites do their transaction if any other site is blocked, so no coordination is there between sites that they will wait till their coordinator is corrected.

Option c) is wrong as lock operations are shared between other connections as when their coordinator fails, the new coordinator agrees to the old coordinator that they had shared locks before and they can start their transaction.

Option d) is wrong as option a) is correct.

If you like the answer, please upvote.
User Lundman
by
2.7k points