Skip to content

refactor(gax): extract helpers and hooks in preparation for upload resume implementation - #14731

Open
whowes wants to merge 1 commit into
whowes/align-chunk-sizefrom
whowes/resumable-upload-refactor
Open

whowes wants to merge 1 commit into
whowes/align-chunk-sizefrom
whowes/resumable-upload-refactor

Conversation

@whowes

@whowes whowes commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

The helpers extracted from the end-to-end upload path will be used in resumed uploads in the next PR

Also of note: ResumableUploadProgressTracker constructor now accepts an initial status so resumed uploads can initialize the tracker directly in STATE_RECOVERING rather than STATE_STARTING.

@whowes
whowes added this pull request to stack #14732 October 22, 2026 16:41

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the resumable upload logic by extracting helper methods such as 'setUpGlobalTimeout' and 'createAndRegisterCoordinator' in 'ResumableUploadFutureImpl', and passing 'ResumableUploadProgressTracker' via dependency injection. A potential thread-safety issue was identified in 'createAndRegisterCoordinator' where calling 'checkNotNull(payload)' before checking if 'inFlightFuture == null' could lead to a 'NullPointerException' during concurrent cancellation.

@whowes whowes changed the title refactor(gax): extract resumable upload coordinator and future helpers refactor(gax): extract helpers and hooks in preparation for upload resume implementation Oct 22, 2026
@whowes
whowes marked this pull request as ready for review October 22, 2026 17:30
@whowes
whowes requested a review from a team as a code owner October 22, 2026 17:30
@whowes
whowes requested a review from blakeli0 October 22, 2026 17:31
@whowes
whowes force-pushed the whowes/resumable-upload-refactor branch from 92c7755 to f705156 Compare October 22, 2026 21:58
@sonarqubecloud

Copy link
Copy Markdown

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed for 'gapic-generator-java-root'

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

This branch has not been deployed

No deployments
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