Skip to content

[WAGED Tag Isolation 7/16] Hook into the assignment loop - #287

Draft
LZD-PratyushBhatt wants to merge 1 commit into
lzd/waged-iso-06-isolatefrom
lzd/waged-iso-07-hooks
Draft

LZD-PratyushBhatt wants to merge 1 commit into
lzd/waged-iso-06-isolatefrom
lzd/waged-iso-07-hooks

Conversation

@LZD-PratyushBhatt

Copy link
Copy Markdown
Collaborator

Description

Turn the bookkeeping added so far into working behavior. This is the PR
where the feature becomes reachable.

The assignment loop now skips replicas whose group already failed, records
each placement so it can be released, routes hard constraint failures
through a sink a tolerated failure will not mark as failed, and asks the
isolation object to absorb a placement failure before rethrowing. Also
lifts the scoring capacity loop into its own method, which is a pure move.

Inert unless WAGED_INSTANCE_TAG_ISOLATION_ENABLED is set: with the flag
off the isolation object answers no to every question and the loop behaves
exactly as before.

Stacked PR 7 of 16 for WAGED instance tag isolation.
Base branch: lzd/waged-iso-06-isolate. Only the top commit belongs to this PR.
The whole stack merges into waged-tag-based-isolation, which is merged into dev at the end.

Tests

Existing WAGED suites, to prove flag-off parity.

Tests run: 65, Failures: 0, Errors: 0, Skipped: 0

Changes that Break Backward Compatibility

None. The new cluster config flag defaults to false, and with it off every
code path added here behaves exactly as it does today.

Documentation

The design doc lands in lzd/waged-iso-13-doc as
docs/design/002-waged-instance-tag-isolation.md.

Code Quality

Formatted with helix-style.xml.

Turn the bookkeeping added so far into working behavior.

The assignment loop now skips replicas whose group has already failed,
records each placement so it can be released, routes hard constraint
failures through a sink that a tolerated failure will not mark as
failed, and asks the isolation object to absorb a placement failure
before rethrowing it. At the end of the pass, finish either rethrows or
reports the skipped resources.

Also lifts the scoring capacity loop into its own method, which is a
pure move.

All of this is inert unless WAGED_INSTANCE_TAG_ISOLATION_ENABLED is set
on the cluster config: with the flag off, the isolation object answers
no to every question and the loop behaves exactly as before.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@LZD-PratyushBhatt
LZD-PratyushBhatt added this pull request to stack #297 September 20, 2026 05:46
@LZD-PratyushBhatt LZD-PratyushBhatt changed the title Wire instance tag isolation into the assignment loop [WAGED Tag Isolation 7/16] Wire instance tag isolation into the assignment loop Sep 20, 2026
@LZD-PratyushBhatt LZD-PratyushBhatt added the waged-tag-level-isolation Opt-in WAGED failure isolation per instance group tag (clique) label Sep 20, 2026
@LZD-PratyushBhatt LZD-PratyushBhatt changed the title [WAGED Tag Isolation 7/16] Wire instance tag isolation into the assignment loop [WAGED Tag Isolation 7/16] Hook into the assignment loop Sep 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waged-tag-level-isolation Opt-in WAGED failure isolation per instance group tag (clique)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant