Skip to content

chore: regenerate compute packages using gRPC service config#16751

Draft
jskeet wants to merge 2 commits intogoogleapis:mainfrom
jskeet:draft-compute-grpc-config
Draft

chore: regenerate compute packages using gRPC service config#16751
jskeet wants to merge 2 commits intogoogleapis:mainfrom
jskeet:draft-compute-grpc-config

Conversation

@jskeet
Copy link
Copy Markdown
Contributor

@jskeet jskeet commented Apr 21, 2026

This is a draft, not intended to be submitted, to a) test that presubmits pass; b) allow for discussion.

This is the result of locally applying a fix for googleapis/librarian#3827 and regenerating the two packages. (That fix does not yet have a librarian PR - we'll see if this causes issues first.)

Copy link
Copy Markdown
Contributor

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

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 transitions the google-cloud-compute-v1beta package to a preview release level and implements standardized retry and timeout settings across service transports in both the v1 and v1beta libraries. Feedback was provided regarding the retry configuration, noting that setting the total retry deadline equal to the per-attempt default_timeout (both at 600 seconds) renders retries on DeadlineExceeded ineffective, as the total deadline is reached simultaneously with the first timeout.

Comment on lines +151 to +161
default_retry=retries.Retry(
initial=0.1,
maximum=60.0,
multiplier=1.3,
predicate=retries.if_exception_type(
core_exceptions.DeadlineExceeded,
core_exceptions.ServiceUnavailable,
),
deadline=600.0,
),
default_timeout=600.0,
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.

medium

The default_retry configuration includes core_exceptions.DeadlineExceeded in its predicate, but the deadline (total timeout) is set to 600.0, which is identical to the default_timeout (per-attempt timeout). This configuration effectively prevents retries on timeouts because the first attempt that hits the 600s limit will also reach the total retry deadline. To make retrying on DeadlineExceeded effective, the deadline should be greater than the default_timeout, or the default_timeout should be reduced.

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.

1 participant