System behaviour when evacuating REP 1 objects #754

Open
opened 2025-12-28 17:20:36 +00:00 by sami · 3 comments
Owner

Originally created by @fyrchik on GitHub (Sep 23, 2022).

We want to behave correctly when evacuating objects stored only on a single node.
Here are 2 situations:

  1. Move node to maintenance -> evacuate objects
  2. Evacuate objects -> move node to maintenance

In (1) the objects could be unavailable between the first and the second step.
In (2) the objects could become unavailable if policer on another node removes them right after the evacuation.

So we need to take special care here. The proposal is following:

  1. Allow node to answer some requests in maintenance mode if possible.
  2. Change its state in the netmap.
  3. Make sure policer takes netmap into account even if a node answers requests: if an object is stored on a node that is under maintenance in a single replica, make sure it is replicated.
Originally created by @fyrchik on GitHub (Sep 23, 2022). We want to behave correctly when evacuating objects stored only on a single node. Here are 2 situations: 1. Move node to maintenance -> evacuate objects 2. Evacuate objects -> move node to maintenance In (1) the objects could be unavailable between the first and the second step. In (2) the objects could become unavailable if policer on another node removes them right after the evacuation. So we need to take special care here. The proposal is following: 1. Allow node to answer some requests in maintenance mode if possible. 2. Change its state in the netmap. 3. Make sure policer takes netmap into account even if a node answers requests: if an object is stored on a node that is under maintenance in a single replica, make sure it is replicated.
Author
Owner

@fyrchik commented on GitHub (Sep 23, 2022):

Actually, this may be an SDK issue -- we could extend replica selection algorithm to take state into account during HRW sorting.

@fyrchik commented on GitHub (Sep 23, 2022): Actually, this may be an SDK issue -- we could extend replica selection algorithm to take state into account during HRW sorting.
Author
Owner

@fyrchik commented on GitHub (Oct 25, 2022):

Let's make it a bug -- we do not want policer to remove a single available copy.
However, policer still needs to avoid creating additional copies.

@fyrchik commented on GitHub (Oct 25, 2022): Let's make it a bug -- we do not want policer to remove a single available copy. However, policer still needs to avoid _creating_ additional copies.
Author
Owner

@carpawell commented on GitHub (Nov 14, 2022):

@fyrchik, was it closed via the #1987?

@carpawell commented on GitHub (Nov 14, 2022): @fyrchik, was it closed via the #1987?
Sign in to join this conversation.
No milestone
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
nspcc-dev/neofs-node#754
No description provided.