Skip to content

Optimize local ranged GET - #4115

Open
cthulhu-rider wants to merge 2 commits into
masterfrom
ec-get-range-buffers-continue
Open

Optimize local ranged GET#4115
cthulhu-rider wants to merge 2 commits into
masterfrom
ec-get-range-buffers-continue

Conversation

@cthulhu-rider

Copy link
Copy Markdown
Contributor

No description provided.

@cthulhu-rider cthulhu-rider changed the title Optimized local ranged GET Optimize local ranged GET Jul 31, 2026
@cthulhu-rider
cthulhu-rider force-pushed the ec-get-range-buffers-continue branch 3 times, most recently from 2659bf4 to 3988aef Compare August 5, 2026 07:53
@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 43.96552% with 65 lines in your changes missing coverage. Please review.
✅ Project coverage is 27.25%. Comparing base (2a105d3) to head (efe7035).

Files with missing lines Patch % Lines
pkg/local_object_storage/blobstor/fstree/head.go 7.69% 24 Missing ⚠️
pkg/services/object/server.go 61.53% 9 Missing and 6 partials ⚠️
pkg/services/object/get/get.go 22.22% 6 Missing and 1 partial ⚠️
pkg/services/object/get/util.go 0.00% 5 Missing ⚠️
pkg/local_object_storage/blobstor/fstree/fstree.go 73.33% 2 Missing and 2 partials ⚠️
pkg/local_object_storage/writecache/get.go 0.00% 4 Missing ⚠️
pkg/local_object_storage/engine/get.go 0.00% 2 Missing ⚠️
pkg/services/object/get/prm.go 0.00% 2 Missing ⚠️
pkg/local_object_storage/engine/ec.go 80.00% 1 Missing ⚠️
pkg/services/object/get.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4115      +/-   ##
==========================================
- Coverage   27.27%   27.25%   -0.02%     
==========================================
  Files         678      678              
  Lines       46282    46300      +18     
==========================================
- Hits        12624    12621       -3     
- Misses      32443    32466      +23     
+ Partials     1215     1213       -2     

☔ 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.

@cthulhu-rider
cthulhu-rider force-pushed the ec-get-range-buffers-continue branch from 3988aef to 98f9298 Compare August 5, 2026 08:10
@cthulhu-rider
cthulhu-rider marked this pull request as ready for review August 5, 2026 08:25
ReadHeader(oid.Address, []byte) (int, error)
ReadObject(oid.Address, []byte) (int, io.ReadCloser, error)
ReadPayloadRange(oid.Address, uint64, uint64, []byte, func([]byte) error) (io.ReadCloser, error)
ReadObjectParts(buf []byte, addr oid.Address, rng PayloadRange, interceptHeaderBinaryFn func([]byte) error) (int, io.ReadCloser, error)

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.

Can we not add another method into Storage? Likely GetRangeStream can be extended a bit to do the same thing.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

existing interfaces do not fit well, so I decided to not touch their callers. Once the optimization is extended to all cases, the number of methods can be reduced

Comment thread pkg/local_object_storage/blobstor/fstree/head.go
@roman-khimov

Copy link
Copy Markdown
Member

Conflicts.

@cthulhu-rider
cthulhu-rider force-pushed the ec-get-range-buffers-continue branch from 98f9298 to 516ffaa Compare August 6, 2026 17:03
Signed-off-by: Leonard Liubich <leonard@morphbits.io>
Closes #4108.

Signed-off-by: Leonard Liubich <leonard@morphbits.io>
@cthulhu-rider
cthulhu-rider force-pushed the ec-get-range-buffers-continue branch from 516ffaa to efe7035 Compare August 6, 2026 17:06
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.

2 participants