Skip to content

feat(storage): Handle large read ranges in bidi read. #15152

Merged
bajajneha27 merged 16 commits intogoogleapis:mainfrom
bajajneha27:370514764
Aug 11, 2025
Merged

feat(storage): Handle large read ranges in bidi read. #15152
bajajneha27 merged 16 commits intogoogleapis:mainfrom
bajajneha27:370514764

Conversation

@bajajneha27
Copy link
Copy Markdown
Contributor

@bajajneha27 bajajneha27 commented May 20, 2025

Part of #15340

This change is Reviewable

@product-auto-label product-auto-label bot added the api: storage Issues related to the Cloud Storage API. label May 20, 2025
Comment thread google/cloud/storage/internal/async/object_descriptor_impl.h Outdated
Comment thread google/cloud/storage/internal/async/object_descriptor_impl.h Outdated
Comment thread google/cloud/storage/internal/async/object_descriptor_impl.cc Outdated
@codecov
Copy link
Copy Markdown

codecov bot commented Jul 6, 2025

Codecov Report

❌ Patch coverage is 95.65217% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.99%. Comparing base (59e0f6b) to head (de3a436).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
...d/storage/internal/async/object_descriptor_impl.cc 89.47% 4 Missing ⚠️
...oud/storage/tests/async_client_integration_test.cc 93.22% 4 Missing ⚠️
...rnal/async/object_descriptor_connection_tracing.cc 0.00% 2 Missing ⚠️
google/cloud/storage/testing/mock_resume_policy.h 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #15152      +/-   ##
==========================================
+ Coverage   92.97%   92.99%   +0.02%     
==========================================
  Files        2402     2403       +1     
  Lines      218287   218506     +219     
==========================================
+ Hits       202961   203210     +249     
+ Misses      15326    15296      -30     

☔ View full report in Codecov by Sentry.
📢 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.

Comment thread google/cloud/storage/async/options.h
Copy link
Copy Markdown
Contributor

@devbww devbww left a comment

Choose a reason for hiding this comment

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

Reviewable status: 0 of 15 files reviewed, 6 unresolved discussions (waiting on @bajajneha27, @ddelgrosso1, and @scotthart)


google/cloud/storage/internal/async/object_descriptor_impl.cc line 251 at r4 (raw file):

Previously, scotthart (Scott Hart) wrote…

If you can guarantee that no other thread would ever be executing any of the code sections that modify streams_ at the same time that the current thread reads streams_ here, then you are ok without the lock.

And the only way to guarantee that is to show that another lock serializes these actions (in which case this lock isn't needed), or to show the actions are all run by the same thread (in which case this lock also isn't needed). Both of these require meta information, so the reliable way to make the guarantee locally is with a lock that protects both reads and writes.

Copy link
Copy Markdown
Contributor Author

@bajajneha27 bajajneha27 left a comment

Choose a reason for hiding this comment

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

Reviewable status: 0 of 15 files reviewed, 6 unresolved discussions (waiting on @ddelgrosso1, @devbww, @rajeevpodar, and @scotthart)


google/cloud/storage/internal/async/object_descriptor_impl.cc line 251 at r4 (raw file):

Previously, devbww (Bradley White) wrote…

And the only way to guarantee that is to show that another lock serializes these actions (in which case this lock isn't needed), or to show the actions are all run by the same thread (in which case this lock also isn't needed). Both of these require meta information, so the reliable way to make the guarantee locally is with a lock that protects both reads and writes.

Done.

@bajajneha27
Copy link
Copy Markdown
Contributor Author

I'm not sure why other jobs are not kicking in. There's nothing in the logs.

Copy link
Copy Markdown
Member

@scotthart scotthart left a comment

Choose a reason for hiding this comment

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

Reviewed 3 of 7 files at r1, 4 of 7 files at r2, 7 of 8 files at r4, 1 of 1 files at r5, all commit messages.
Reviewable status: all files reviewed, 6 unresolved discussions (waiting on @bajajneha27, @ddelgrosso1, @devbww, and @rajeevpodar)

@scotthart
Copy link
Copy Markdown
Member

/gcbrun

@bajajneha27 bajajneha27 merged commit 16b6833 into googleapis:main Aug 11, 2025
65 of 66 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: storage Issues related to the Cloud Storage API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants