Skip to content

Adding --gcp-cloud-run-no-sync-quiet-ms flag - #1167

Open
seanbollin wants to merge 2 commits into
mainfrom
sean/cloudrun-no-sync-quiet-ms
Open

Adding --gcp-cloud-run-no-sync-quiet-ms flag#1167
seanbollin wants to merge 2 commits into
mainfrom
sean/cloudrun-no-sync-quiet-ms

Conversation

@seanbollin

Copy link
Copy Markdown

Related issues

Closes: https://temporalio.atlassian.net/browse/COM-241

What changed?

Adds --gcp-cloud-run-no-sync-quiet-ms to temporal worker deployment create-version
and temporal worker deployment update-version-compute-config.

  • The flag is an integer (milliseconds) that joins the existing all-or-none GCP
    Cloud Run scaler group, so --gcp-cloud-run-min-instances,
    --gcp-cloud-run-max-instances, --gcp-cloud-run-initial-instances,
    --gcp-cloud-run-utilization-target, and --gcp-cloud-run-no-sync-quiet-ms
    must now all be set together.
  • It is serialized into the rate-based scaler's no_sync_quiet_ms config key,
    which WCI already validates and applies — no server-side change is required.
  • Semantics: after the most recent no-sync-match, the scaler waits this long
    before it may scale the Cloud Run worker pool down. Raising it keeps the pool
    from scaling down before long-running or bursty activities finish. Defaults to
    90000 (90s) when unset; must be >= 0 (0 disables the quiet window).
  • describe-version now surfaces the value (JSON noSyncQuietMs and the
    one-line compute-config summary).

This is a stopgap for long/bursty activities pending GCP's configurable graceful
shutdown; it is not itself graceful shutdown.

Checklist

Stability

  • Breaking changes are marked with 💥 in the PR title and release notes — no breaking changes; the flag joins an as-yet-unreleased flag group
  • Changes to JSON output (-o json / -o jsonl) are treated as breaking changes — see note 1

Design

  • This feature does not depend on Cloud-only APIs or behavior (it works against an OSS server)
  • New commands follow temporal <noun> <verb> structure — no new commands; flag added to existing commands
  • New flags are named after the API concept, not the implementation mechanism — see note 2
  • New flags don't duplicate an existing flag that serves the same purpose
  • New flags do not have short aliases without strong justification — no alias added
  • Experimental features are marked with (Experimental) in commands.yamlsee note 3

Help text (see style guide at the top of commands.yaml)

  • All flags shown in help text and examples are implemented and functional
  • Summaries use sentence case and have no trailing period — no new command summaries
  • Long descriptions end with a period and include at least one example invocation — no new command descriptions; the flag help ends with a period
  • Examples use long flags (--namespace, not -n), one flag per line
  • Placeholder values use YourXxx form (YourWorkflowId, YourNamespace)

Behavior

  • Results go to stdout; errors and warnings go to stderr
  • Error messages are lowercase with no trailing punctuation

Tests

  • Added functional test(s) (SharedServerSuite)
  • Added unit test(s) (func TestXxx) where applicable

Notes for reviewer

  1. JSON output: describe-version gains an additive noSyncQuietMs field. The
    surrounding GCP scaler config block is not in a tagged release yet, so no
    released output changes — hence not marked 💥. Flag if you'd prefer otherwise.
  2. Flag name: no-sync-quiet-ms mirrors the documented no_sync_quiet_ms scaler
    config key and matches the sibling --gcp-cloud-run-* scaler knobs. It's a
    technical tuning knob, so the name is the concept; happy to rename if you see
    a friendlier fit.
  3. Experimental: not marked (Experimental). It's a stable, functional knob, but
    it's positioned as a stopgap pending GCP graceful shutdown — mark it if the
    team prefers signaling that.

Manual tests

Setup

@CLAassistant

CLAassistant commented Aug 18, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@seanbollin
seanbollin marked this pull request as ready for review August 18, 2026 20:14
@seanbollin
seanbollin requested a review from a team as a code owner August 18, 2026 20:14

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37bae511f3

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +1761 to +1763
at least 0; 0 disables the quiet window. If omitted, the version's
existing scaling settings are left unchanged. Only valid with
--gcp-cloud-run-worker-pool.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Remove the worker-pool co-requirement from this help

For update-version-compute-config, this says the new flag is only valid when --gcp-cloud-run-worker-pool is supplied, but the command's documented and implemented scaler-only mode accepts the five scaler flags without any provider flags and updates only scaler.details. A user following this option-level help may unnecessarily supply all required provider fields and overwrite the provider configuration rather than performing the intended scaler-only update.

Useful? React with 👍 / 👎.

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