Skip to content

sn/object: move placement logic into shared service#4030

Merged
roman-khimov merged 1 commit into
masterfrom
unify-placement
Jun 23, 2026
Merged

sn/object: move placement logic into shared service#4030
roman-khimov merged 1 commit into
masterfrom
unify-placement

Conversation

@End-rey

@End-rey End-rey commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Closes #1803.

@codecov

codecov Bot commented Jun 19, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 44.16667% with 67 lines in your changes missing coverage. Please review.
✅ Project coverage is 26.72%. Comparing base (4d0fbef) to head (2169ec0).
⚠️ Report is 4 commits behind head on master.

Files with missing lines Patch % Lines
pkg/services/object/placement/service.go 60.91% 33 Missing and 1 partial ⚠️
cmd/neofs-node/object.go 0.00% 23 Missing ⚠️
pkg/services/control/server/evacuate.go 0.00% 6 Missing ⚠️
pkg/services/control/server/server.go 0.00% 3 Missing ⚠️
cmd/neofs-node/main.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4030      +/-   ##
==========================================
- Coverage   26.76%   26.72%   -0.05%     
==========================================
  Files         688      688              
  Lines       46721    46625      -96     
==========================================
- Hits        12506    12459      -47     
+ Misses      33067    33033      -34     
+ Partials     1148     1133      -15     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@roman-khimov roman-khimov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neat.

There are also calls to ContainerNodes() in IR and CLI, but CLI is a one-shot thing and IR events are rather rare, per-epoch ones are useless, load processing can benefit from this cache, but it's not critical there either.

Comment thread pkg/services/object/placement/service.go
@roman-khimov

Copy link
Copy Markdown
Member

Rebase, please.

Move placement building and caching logic from `cmd/neofs-node` into
`pkg/services/object/placement`. Reuse the shared placement service in object
and control code paths.

Closes #1803.

Signed-off-by: Andrey Butusov <andrey@nspcc.io>
@roman-khimov roman-khimov merged commit 9f85551 into master Jun 23, 2026
19 of 26 checks passed
@roman-khimov roman-khimov deleted the unify-placement branch June 23, 2026 12:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Share functionality of placement building between components

3 participants