nspcc-dev / neofs-node

NeoFS is a decentralized distributed object storage integrated with the Neo blockchain
https://fs.neo.org
GNU General Public License v3.0
31 stars 38 forks source link

Combined writing for FSTree #2814

Open roman-khimov opened 2 months ago

roman-khimov commented 2 months ago

We can think of replacing peapod with it.

roman-khimov commented 2 months ago

Notice that this scheme also helps with #1951 and #2107 (!) if we're to store meta separately.

roman-khimov commented 2 months ago

So what is the peapod's fate?

TBD

codecov[bot] commented 2 months ago

Codecov Report

Attention: Patch coverage is 58.72340% with 97 lines in your changes missing coverage. Please review.

Project coverage is 23.82%. Comparing base (450c4e5) to head (97f570f). Report is 4 commits behind head on master.

Files Patch % Lines
...ject_storage/blobstor/fstree/fstree_write_linux.go 71.42% 22 Missing and 12 partials :warning:
...node/config/engine/shard/blobstor/fstree/config.go 0.00% 18 Missing :warning:
pkg/local_object_storage/blobstor/fstree/fstree.go 77.35% 10 Missing and 2 partials :warning:
pkg/local_object_storage/blobstor/fstree/option.go 0.00% 12 Missing :warning:
cmd/neofs-lens/internal/storage/root.go 0.00% 9 Missing :warning:
cmd/neofs-node/storage.go 0.00% 5 Missing :warning:
cmd/neofs-node/config.go 0.00% 4 Missing :warning:
...ct_storage/blobstor/fstree/fstree_write_generic.go 40.00% 3 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #2814 +/- ## ========================================== + Coverage 23.69% 23.82% +0.13% ========================================== Files 770 769 -1 Lines 44580 44747 +167 ========================================== + Hits 10562 10660 +98 - Misses 33163 33230 +67 - Partials 855 857 +2 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

carpawell commented 2 months ago

So what is the peapod's fate?

TBD

I am asking cause we have to rework some things if there is no "small" storage anymore.


Have you considered GET bench? Isn't it slower to read a combined object for only a part of it if there are a few parallel GET requests? Like reading 8MB for a 4KB object 128 times can be slower than reading 4KB 128 times from a peadod.

roman-khimov commented 1 month ago

Isn't it slower to read

For sure. But I doubt it's noticeable. I'll try to bench it.