Paxos guarantees that this is still correct even if

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: non- leader recovers, it uses its log to prevent it from responding incorrectly to prepare/accept requests. It can also consult any other node in order to catch up with the log. c) if leader fails, a bit more complex: if haven’t heard from the leader recently, timeout and broadcast a request to see who is the lowest #’ed remaining node. If leader says: hey, I’m still here, ok, done. Otherwise, lowest remaining # (new leader) needs to pick up where the leader left off. The first thing a new leader will do is to determine the state of the system: what decrees have been passed (accepted by a majority, where some alive node knows that it was accepted by a majority), and which decrees were started, but whose outcome is uncertain. So it will ping all the nodes to get their current state, which will (normally) cause any spurious leader to say: “Oh, you’re the leader – great, then I’ll stop being the leader.” Some instances may: have a chosen value that has been learned by someone who is up; go poll everyone to find out what has been learned (e.g., B at 58) have a chosen value that hasn’t been learned; go poll everyone to see their latest accepted value have a proposal that has been accepted by some nodes, but without enough to know if the proposal has been chosen yet: run a new proposal (with a larger #!) to choose a value consistent with prior accepts no proposal accepted yet – ok to fill with any proposal that is commutative with already ac...
View Full Document

This document was uploaded on 04/04/2014.

Ask a homework question - tutors are online