mirror of
https://github.com/nspcc-dev/neofs-node.git
synced 2026-03-01 04:29:10 +00:00
Accessing local storage outside the container when reading objects #1433
Labels
No labels
I1
I2
I3
I4
S0
S1
S2
S3
S4
U0
U1
U2
U3
U4
blocked
bug
config
dependencies
discussion
documentation
enhancement
enhancement
epic
feature
go
good first issue
help wanted
neofs-adm
neofs-cli
neofs-cli
neofs-cli
neofs-ir
neofs-lens
neofs-storage
neofs-storage
performance
question
security
task
test
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nspcc-dev/neofs-node#1433
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @cthulhu-rider on GitHub (Jun 23, 2025).
Is your feature request related to a problem? Please describe.
currently, SN object read (GET/HEAD/RANGE) handler always accesses local storage. If the object is present, SN does not access the container members
normally, SN outside the container does not store its objects on a permanent basis. There is a transitional state when SN, after the epoch change, leaves the container and begins to migrate data to a new location. The faster this is done, the more efficiently the cluster functions
in total:
i think all this makes unconditional touching of local storage impractical
Describe the solution you'd like
manage list of to-migrate containers for which SN stores data locally but does not belong to. Iff requested container is non-local and to-migrate one, skip local read
the list is update on:
having this list, whole migration procedure may go faster. Afaik it is object-by-object now
Describe alternatives you've considered
no for now
Additional context
i've run 10m load to GET object of 4K payload size from
REP 1container through non-container SN. Here's cpu.pb.gz profile of proxy node. As we can see, local execution takes ~20% time