Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces support for sending initial read ranges during the opening of an ObjectReadSession in StorageDataClient. It overloads the readSession method to accept a list of initial read projection configurations, registers them into the session state, and sends the open request populated with these ranges. Additionally, a new integration test class, ITFastOpenFakeTest, has been added to verify that the open request correctly includes or excludes these initial reads. No review comments were provided, so there is no additional feedback to address.
First step of fast open BiDi reads (go/fast-open-bidi-read, b/552263062). Today a read takes two round trips: one to open the session, one to send the first range. StorageDataClient.readSession(req, ctx, fastOpenConfigs) creates a read for each config and registers it in the session state before the stream is opened. The open request is now built from the session state (ObjectReadSessionState.getOpenArguments(), already used when the stream restarts), which adds the range of every registered read, so the fast open reads are part of the open request and the bytes the server returns with the open are delivered to them. The existing two-argument method opens with no fast open reads and sends exactly the same request as before. The session does not hand these reads out yet; that is the next change, which also replaces the single-range prototype fastOpenReadSession.
Dhriti07
force-pushed
the
fast-open/01-first-reads-in-open
branch
from
October 27, 2026 20:20
92aa755 to
19a09bd
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1/n PR for Fast Open Bidi Reads Implementation in Java SDK.
StorageDataClient.readSession(req, ctx, firstReadConfigs) creates a read for each config and registers it in the session state before the stream is opened.
The open request is now built from the session state which adds the range of every registered read, so the first reads are part of the open request and the bytes the server returns with the open are delivered to them. The existing two-argument method opens with no first reads and sends exactly the same request as before.
The session does not hand these reads out yet