Skip to content

Wire A32 circuit breaking into xDS channels#2712

Draft
mingley wants to merge 3 commits into
grpc:masterfrom
mingley:mingley/a32-circuit-breaking-wiring
Draft

Wire A32 circuit breaking into xDS channels#2712
mingley wants to merge 3 commits into
grpc:masterfrom
mingley:mingley/a32-circuit-breaking-wiring

Conversation

@mingley

@mingley mingley commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Motivation

This is the production wiring follow-up to #2711. The limiter exists after #2711, but tonic-xds still needs to read CDS circuit-breaking config and place enforcement in the request path before A32 support is active.

This PR is intentionally draft until #2711 lands. It is currently based on master because #2711's branch lives in a fork; after #2711 lands, this branch should be rebased so the diff contains only the wiring commit.

Solution

  • Carry parsed A32 CircuitBreakingConfig on validated ClusterResource values.
  • Watch CDS updates from the circuit-breaking layer and wait for CDS before acquiring permits to avoid startup races.
  • Insert circuit breaking between routing and retry in XdsChannelBuilder, so circuit-broken calls do not enter retry policy.
  • Add channel-level coverage for injected limits, CDS-driven limits, and waiting for CDS before enforcement.

Testing Done

  • cargo fmt --all --check
  • cargo check -p tonic-xds --all-features
  • cargo test -p tonic-xds --lib

@linux-foundation-easycla

linux-foundation-easycla Bot commented Jun 30, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

@mingley mingley force-pushed the mingley/a32-circuit-breaking-wiring branch from 6798fb1 to 7505002 Compare June 30, 2026 17:03
@mingley mingley force-pushed the mingley/a32-circuit-breaking-wiring branch from 7505002 to 4b4f77c Compare June 30, 2026 17:22
@mingley mingley force-pushed the mingley/a32-circuit-breaking-wiring branch from 4b4f77c to 01c865f Compare June 30, 2026 17:45
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