mirror of
https://github.com/nspcc-dev/neofs-node.git
synced 2026-03-01 04:29:10 +00:00
Improve combined fstree format #1440
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#1440
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 @roman-khimov on GitHub (Jun 25, 2025).
Is your feature request related to a problem? Please describe.
I'm always frustrated when reads from FSTree take more time than they could in case of combined format. We do not have any
OID: [offset, size]map there, so reader has toSeek()through to get the object he needs. For 128 objects in a pack it could take some time.Describe the solution you'd like
A table can be stored at the end of the file with this data, it's trivial to do for writer and then reader can:
This works for files generated on-the-fly from processed PUT requests. But if we have a write cache and use direct batched writing this can be further optimized by placing the table at the beginning of the file (format should support both). Then reader can get and use it immediately after initial read.
Describe alternatives you've considered
Not known.
Additional context
https://github.com/nspcc-dev/neofs-node/pull/2814
https://github.com/nspcc-dev/neofs-node/issues/2925