Learn the vocabulary of reaching agreement through numbered proposal rounds requiring majority promises and majority acceptance.
0 / 5 completed
1 / 5
A teammate explains that a distributed algorithm reaches agreement on a single value through numbered proposal rounds, where a proposer must first get a promise from a majority of acceptors before it can get that same majority to actually accept its value. What consensus algorithm is being described?
Paxos consensus is exactly this: a proposer sends a numbered prepare request and must receive a promise from a majority of acceptors, promising not to accept any lower-numbered proposal, before that same proposer can get a majority to accept its actual value, guaranteeing that once a value is chosen, any later proposal round will also choose that same value. A DNS zone transfer is an unrelated concept about replicating name server records. This two-phase, majority-promise-then-majority-accept approach is exactly why Paxos is the foundational proof that distributed consensus is achievable despite node failures.
2 / 5
During a design review, the team relies on Paxos for a distributed lock service that must never let two different clients believe they hold the same lock, even if messages are delayed or nodes fail mid-round. Which capability does this provide?
Paxos here provides safety despite failures and message delays, since it guarantees only one value can ever be chosen for a given round even if proposals overlap or acceptors fail partway through, which is exactly what a lock service needs to avoid granting the same lock to two different clients. Letting the first message to arrive at any single acceptor decide the outcome ignores that different acceptors could see different proposals first under delayed or reordered messages. This majority-based-single-chosen-value guarantee is exactly why Paxos is trusted for correctness-critical coordination like distributed locks.
3 / 5
In a code review, a dev notices a distributed lock service lets whichever acceptor receives a client's request first immediately grant the lock, without any majority-promise or majority-accept round, instead of running a Paxos-style protocol. What does this represent?
This is a missed Paxos-consensus requirement, since without a majority-based protocol, two different acceptors could independently grant the same lock to two different clients under delayed messages. A cache eviction policy is an unrelated concept about discarded cache entries. This first-acceptor-wins-with-no-majority pattern is exactly the kind of correctness gap a reviewer flags once distributed locking correctness is required.
4 / 5
An incident report shows two different clients both believed they held the same distributed lock simultaneously, because two different acceptors each independently granted the lock to a different client without requiring a majority round first. What practice would prevent this?
Running a Paxos-style protocol requiring a majority promise and majority accept before a lock is granted ensures no two acceptors can independently grant the same lock. Continuing to let whichever acceptor receives a request first grant the lock immediately regardless of how often two clients end up with the same lock is exactly what caused the incident described here. This majority-promise-then-majority-accept approach is the standard fix once single-acceptor grants are confirmed to produce conflicting locks.
5 / 5
During a PR review, a teammate asks why the team reaches for Paxos instead of Raft for a new replicated log, given that Raft is generally considered easier to implement correctly. What is the reasoning?
Paxos offers a more flexible, foundational quorum-based model that some systems build custom variants on top of, while Raft trades some of that flexibility for an explicitly decomposed, more approachable design that most new implementations prefer. This is exactly why some existing systems retain Paxos or its variants for their flexibility, while most new replicated-log implementations reach for Raft specifically for its implementability.