There are many ways to attack two-phase commit problems. Almost all of them end as a variant of the Paxos three-phase fixation algorithm. Mike Burroughs, who developed Googleβs Chubby lock service based on Paxos, said that in the lecture I saw there are two types of distributed commit algorithms - Paxos and Wrong.
One thing node has encountered, maybe when it wakes up, it says: "I never heard of this transaction if it were committed?" to a coordinator who will tell him what voting is.
Keep in mind that this is an example of a more general problem: a broken node can skip many transactions before recovering them. Therefore, it is very important that after recovery he should have a conversation with either the coordinator or another replica before making himself available. If the node itself cannot say whether it crashed, then everything becomes more attractive, but still accommodating.
If you use a quorum system to read the database, the inconsistency will be masked (and known to the database itself).
HenryR Oct 05 '08 at 12:43 2008-10-05 12:43
source share