Skip to content

chore(relay): treat Asia cell c30 as a general cell now that it is promoted - #22439

Merged
Jinwoo-H merged 1 commit into
mainfrom
relay-c30-general-same-cap
Sep 23, 2026
Merged

Jinwoo-H merged 1 commit into
mainfrom
relay-c30-general-same-cap

Conversation

@Jinwoo-H

@Jinwoo-H Jinwoo-H commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 4 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​33 $\color{#cf222e}{\Huge{\mathbf{−}}}$​9 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​24
Prod 3 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​8 $\color{#cf222e}{\Huge{\mathbf{−}}}$​10 $\color{#cf222e}{\Huge{\mathbf{−}}}$​2

ELI5

The fourth Hong Kong relay server, c30, now serves users like its three siblings. Two operational scripts still treated it as a standby server. This PR tells them it is a normal serving server now.

What Changed

Before: the same-cap rollout script listed c30 as migration-only, beside the US standby cells c17 and c18. Rolling c30 would have handed it back isolated, taking a serving cell out of rotation. The shadow health gate also left c30 out of the Asia database-pool checks.

After: c30 is in the same-cap general list with c27-c29. A roll now isolates and restores it like any serving cell, advancing the selector by two. The shadow health gate reads c30's pool beside c27-c29. Only c17 and c18 stay migration-only.

Changed files:

  • relay-production-same-cap-wave.mjs: c30 moves from the migration-only list to the general list.
  • relay-same-cap-shadow-gate-verdict.mjs: c30 joins the fleet pool list.
  • cloud/docs/relay-workflows.md: the paragraph now records the promotion and the rule for any later Asia cell.
  • Tests pin both lists, cover a c29+c30 general wave, and reject a c30+c17 mixed wave.

Nothing deployed changes. Terraform, tfvars, and workflows are untouched. The same-cap job's case list already carried c30 at the 3,000 cap, asia-east2, pool 16.

Why

C30 was promoted to general in the live admission selector on 2026-09-23 at generation 286. #22375 listed it as migration-only until then, and named this change as the follow-up. It was kept out of the fleet pool list until it served, because a cell with no metrics reads as unverified and turns every verdict into a warning. It serves now, so both lists move together as planned.

Linked Issue

N/A. Follow-up to #22375.

Visual Proof

N/A. Operational scripts and docs only, no UI.

Testing

  • Automated tests added/updated

Run from cloud/ with node --test:

  • relay-production-same-cap-wave.test.mjs: 17 pass
  • relay-same-cap-shadow-gate.test.mjs: 20 pass
  • relay-same-cap-script-census.test.mjs: 25 pass
  • prepare-relay-production-capacity-canary.test.mjs: 13 pass
  • All 60 dev/scripts/*relay*.test.mjs files: 0 failures

node dev/scripts/relay-cloud-sql-connection-budget.mjs stays within budget with four Asia cells at pool 16. operatingMaximum is 419 against a usableCeiling of 490, leaving 71.

…omoted

C30 was promoted to general on 2026-09-23 (selector generation 286). The
same-cap wave now rolls it as a general cell instead of handing it back
isolated, and the shadow gate reads its pool beside C27-C29. Follow-up to
#22375.

Claude-Session: https://claude.ai/code/session_01JNnE9qzUZMMnqpZWCqM3nb
@pullfrog

pullfrog Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

This run was cancelled 🛑

The workflow was cancelled before completion. Please check the link below for details.

Pullfrog  | View workflow run | via Pullfrog | 𝕏

@coderabbitai

coderabbitai Bot commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 19042a99-569f-434d-a766-4f36d9b47645

📥 Commits

Reviewing files that changed from the base of the PR and between 293c250 and 94ffc67.

📒 Files selected for processing (7)
  • cloud/dev/scripts/prepare-relay-production-capacity-canary.test.mjs
  • cloud/dev/scripts/relay-production-same-cap-wave.mjs
  • cloud/dev/scripts/relay-production-same-cap-wave.test.mjs
  • cloud/dev/scripts/relay-same-cap-script-census.test.mjs
  • cloud/dev/scripts/relay-same-cap-shadow-gate-verdict.mjs
  • cloud/dev/scripts/relay-same-cap-shadow-gate.test.mjs
  • cloud/docs/relay-workflows.md

Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

C30 moves from the migration-only class to the general same-cap class. The shadow-gate fleet-pool list and its test coverage now include C30. Related tests and workflow documentation reflect the updated classification.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to 94ffc

C30 is treated as a general cell and included in fleet-pool checks. No actionable issue remains before merge beyond normal checks.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely states the main change: promoting Asia cell c30 to a general cell.
Description check ✅ Passed The description covers the required core sections. It explains the before and after states, the reason for the change, testing, and the lack of visual changes. It also identifies the related issue as …
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 6 files. (1 skipped: 1 …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Jinwoo-H
Jinwoo-H merged commit 51c3434 into main Sep 23, 2026
25 of 27 checks passed
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