[chord] Query re Nodes Leaving and Successor Lists

Aisling O' Driscoll odriscoll.aisling at gmail.com
Mon Jun 28 17:56:12 EDT 2010


Hi,



I have a question about how the Chord ring converges again when a node
leaves using successor lists. Let’s assumes there are three nodes in the
ring: 2042, 2129 and 2186



·        2129 fails. At the next stabilization round 2042 sends a
stabilization message to 2129. It sets a timer for a reply which it never
receives.

·        When it doesn’t receive a reply it sets its successor to the next
node in the successor list (2186) and send a stabilize message to 2186.

·        If 2186 has sent a predecessor ping to 2129 in the meantime and
hasn’t received it will have set its predecessor to nil in which case the
stabilization mechanism will work (i.e. 2042 will stabilize with 2186
receive back a reply with predecessor nil, will send a notify and 2186 will
update its predecessor).



My question is this:

What happens if 2186 has not realised that its predecessor has failed? So
2042 will stabilize with 2186. 2186 will return a predecessor of 2129 and
2042 will simply add 2129 as its successor again (after having just removed
it). This is incorrect and it seems to me that the standard stabilization
mechanisms won’t work. I have read material on this and don’t under how this
can be resolved or what the papers referring to Chord mean about
“reconciling” successor lists.



Many thanks in advance for help, particularly relating to the example.

Kind Regards,

Aisling.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://amsterdam.lcs.mit.edu/pipermail/chord/attachments/20100628/45116a5b/attachment.htm 


More information about the chord mailing list