You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the reserve capacity is reached, the reserve will go through an eviction process staring with lower value batches first by removing chunks with proximity order less than the storage radius until the size falls below the capacity.
If the size is still over the capacity, the storage radius is increased, and the eviction process repeats again, this time with a higher proximity order criteria.
When the radius increases, the neighborhood actually splits into two. If there is an insufficient number of nodes OR the overlay addresses, after the radius increase, all end of falling into the same neighborhood, the other neighborhood will have no nodes in it and this can cause loss of data for previously stored and newly uploaded chunks.
In the diagram below, imagine the case all nodes in neighborhood 7 share one higher order of proximity, so they all end up in neighborhood 9 after the radius is increased, leaving 4 without a single node.
Task
Before increasing the storage radius, the node will first check that the two neighborhoods after splitting the current one will have at least have one node. If not, then the radius increase will be skipped.
In the case that there isn't sufficient number of peers, the pullsync worker will be paused and the pushsync will reject new chunks that it stores
The pullsync and pushsyns protocols, if paused, will monitor topology changes and remain paused until the neighborhood split problem is resolved.
The text was updated successfully, but these errors were encountered:
Background
Swip ethersphere/SWIPs#43
When the reserve capacity is reached, the reserve will go through an eviction process staring with lower value batches first by removing chunks with proximity order less than the storage radius until the size falls below the capacity.
If the size is still over the capacity, the storage radius is increased, and the eviction process repeats again, this time with a higher proximity order criteria.
When the radius increases, the neighborhood actually splits into two. If there is an insufficient number of nodes OR the overlay addresses, after the radius increase, all end of falling into the same neighborhood, the other neighborhood will have no nodes in it and this can cause loss of data for previously stored and newly uploaded chunks.
In the diagram below, imagine the case all nodes in neighborhood 7 share one higher order of proximity, so they all end up in neighborhood 9 after the radius is increased, leaving 4 without a single node.
Task
The text was updated successfully, but these errors were encountered: