In paxos, what happens if a proposer is down after its proposal is rejected?
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
In the Paxos algorithm, which is widely used for achieving consensus in distributed systems, the role of proposers is crucial. They initiate the process of proposing values that the system as a whole must agree upon. However, the algorithm must also cope effectively with the realities of networked and distributed environments, where nodes (such as proposers) may fail or become unresponsive. Understanding what happens if a proposer goes down after its proposal has been rejected is key to grasping the robustness and fault tolerance of Paxos.
Overview of Paxos
Paxos is designed to have multiple components: proposers, acceptors, and learners. Proposers suggest values to be chosen, acceptors approve the proposals, and learners learn the chosen value. The main goal is to achieve consensus on a single value among a group of distributed processes (acceptors) despite failures.
Proposal Process
The proposal process in Paxos can be broken down into two main phases:
- Prepare Phase: A proposer selects a proposal number and sends a prepare request with to a majority of acceptors. If the acceptor receives a prepare request with a number greater than any proposal number it has previously responded to, it promises not to accept any future proposals having a number less than and sends its previously accepted proposal (if any) back to the proposer.
- Accept Phase: If the proposer receives the promised responses from a majority of acceptors, it sends an accept request to each of those acceptors for a proposal numbered with a value , which is either the value of the highest-numbered proposal among the responses, or a new value if none were previously accepted.
Scenario: Proposer Failure After Rejection
When a proposal is rejected during either phase, typically because a higher numbered proposal has been seen by the acceptors, the proposer normally would need to initiate a new round of proposals with an even higher number. This situation is depicted with the following steps:
- Proposal Rejected: Let's say a proposer issues a proposal with number . This proposal can be rejected if acceptors have already promised to a proposal with a number greater than .
- Proposer Recovers: Normally, would then increase the number, ideally to a number higher than any it knows to have been used (based on rejections it received), and start a new prepare phase.
- Proposer Down: If goes down after the rejection and before it can issue a new proposal, no new proposals from will occur.
Impact of Proposer Failure
The failure of a proposer after a proposal is rejected generally has limited impact in terms of the progress of the Paxos algorithm, provided there are other proposers that can continue the protocol. The algorithm is designed to handle failures seamlessly:
- Other Proposers Take Over: Other proposers in the system can detect the lack of progress (e.g., via timeouts or heartbeats) and initiate their own proposals.
- No Data Loss: Because the proposer 's proposal was not accepted, its failure does not lead to loss of data consensus or state within the distributed system.
Robustness and Recovery
Paxos is notably robust against proposer failures. New proposers can take up the role of proposing values, ensuring that the system continues to make progress towards consensus. Recovery mechanisms, such as mechanisms for new proposers to discover the highest used proposal number, help in maintaining the continuity and integrity of the process.
Table: Impact of Proposer Failure in Paxos
| Condition | Consequence | Recovery Strategy |
| Proposer fails before proposal accepted | No direct impact on consensus | Other proposers initiate new proposals |
| Proposer fails after rejection | Delay in consensus; no data corruption | New prepare phase with higher proposal number |
| Multiple proposers fail | Potential delays | Redundant proposers and increased timeout intervals |
In conclusion, the Paxos algorithm ensures reliable operation even in the face of individual component failures, including proposers. The architecture's reliance on a majority, rather than all acceptors, and the ability for any proposer to initiate or continue the consensus process, provided they can gather majority support, exemplifies its fault-tolerant design.

