Closed zllovesuki closed 1 year ago
Since we are always calling .Join()
on nodes[0]
, it is possible that its finger table is not updated yet:
INFO chord/local_membership.go:55 Successfully joined Chord ring {"node": 703332983828, "predecessor": 688551194597, "successor": 1008538930581}
nodes[0]
, found that 644634094637's successor to be 703332983828
INFO chord/local_membership.go:100 incoming join request {"node": 703332983828, "joiner": 644634094637}
DEBUG chord/local_chord.go:216 skip transferring keys to predecessor because predecessor left {"node": 703332983828, "prev": 688551194597, "new": 644634094637}
Should add additional check to ensure that the join request is routed to the correct successor in .RequestToJoin()