Skip to content

Commit 0f17b5b

Browse files
committed
fix 2 node ring edge case
1 parent 88c5eb9 commit 0f17b5b

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/chordnet/node.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,9 +290,15 @@ def stabilize(self) -> None:
290290
# set successor to x
291291
# notify successor about this node
292292
curr_successor = self.successor()
293-
if curr_successor is None:
293+
if curr_successor is None or curr_successor == self.address:
294+
# if we have a predecessor, then its a 2 node ring
295+
# complete the circle
296+
if self.predecessor and self.predecessor != self.address:
297+
self.finger_table[0] = self.predecessor
294298
return
295299

300+
301+
296302
x = None
297303

298304
try:

0 commit comments

Comments
 (0)