edge case: responsibility for slices > 1/2 key space #48

Closed
opened 2020-06-10 17:11:11 +02:00 by schmittlauch · 0 comments
Owner

In 1204457a2a , filtering of predecessors and successors has been introduced to enforce predecessors/ successors being smaller/ larger than the node itself.

While this is generally a good idea, it creates problems when the first real predecessor node is more than half the key space size away, making the comparison returning "larger" and the predecessor not being put into the predecessor list.

Example:

Node1 = 1000
Node2 = 1003
Node3 = 1010
Node4 = 1020

with k = 2 Node1 has the successors 1003 and 1010, but no predecessors.

TODO:

  • Is the responsibility correctly assigned, returning FOUND for the case of empty successor?
  • Not being able to stabilise with that node, will this sooner or later rip a hole into the namespace?
    • Node4 won't have Node1 in its successor list as well
    • write tests and decide
In 1204457a2adc32bf28fd00925cea5658466b20a2 , filtering of predecessors and successors has been introduced to enforce predecessors/ successors being smaller/ larger than the node itself. While this is generally a good idea, it creates problems when the first real predecessor node is more than half the key space size away, making the comparison returning "larger" and the predecessor not being put into the predecessor list. Example: Node1 = 1000 Node2 = 1003 Node3 = 1010 Node4 = 1020 with k = 2 Node1 has the successors 1003 and 1010, but no predecessors. **TODO**: - Is the responsibility correctly assigned, returning FOUND for the case of empty successor? - Not being able to stabilise with that node, will this sooner or later rip a hole into the namespace? - Node4 won't have Node1 in its successor list as well - write tests and decide
schmittlauch added this to the working EpiChord overlay (without k-choices) milestone 2020-06-10 17:11:11 +02:00
schmittlauch added the
basic functionality
DHT
bug
labels 2020-06-10 17:11:11 +02:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: schmittlauch/Hash2Pub#48
No description provided.