nspcc-dev / nspcc-dev/neofs-node

System behaviour when evacuating REP 1 objects

Open
#1,812 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug I3 S4 U2
Dominant language
Go
Stars
38
Forks
51
Avg merge
1d 20h
Merged PRs (30d)
38

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by tracing the evacuation and maintenance-mode flows, then inspect how netmap state and policer decisions interact. Done means both operation orders keep single-replica objects available and ensure objects on a maintenance node are replicated.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.