[WAGED Tag Isolation 5/16] Group instance tags into share blocks - #285
Draft
LZD-PratyushBhatt wants to merge 1 commit into
Draft
LZD-PratyushBhatt wants to merge 1 commit into
LZD-PratyushBhatt wants to merge 1 commit into
Conversation
Add the two block partitions that decide how much of a cluster is carried over when one instance group cannot be placed. Rolling back only the broken group would free capacity that other groups on the same nodes would immediately consume, so the emitted result could overcommit those nodes. Groups that can land on the same node are therefore joined, transitively, into a share block, and a block is the unit that is carried over together. Sharing a node is symmetric, so the relation partitions the groups. The union-find walk is driven by each node's own tags rather than a scan of every group, which keeps the failure path cheap on clusters with thousands of untagged resources. Attribution blocks are the same partition widened with a group for every tag any node carries, so a clique whose replicas are all already placed still has a block it can be blamed in. It is kept separate because the share partition is sized by the replica derived groups, and padding it would stop the "everything failed" guard ever firing. In the clique topology this targets, every instance carries one tag, so each block is a single clique. An untagged resource can go anywhere, so it pulls everything it meets into one cluster wide block and the rebalance then fails exactly as it does today.
LZD-PratyushBhatt
added this pull request to stack #297
September 20, 2026 05:46
LZD-PratyushBhatt
force-pushed
the
lzd/waged-iso-05-blocks
branch
from
September 20, 2026 13:25
2dcf06b to
2af5164
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add the two block partitions that decide how much of a cluster is carried over when one instance group cannot be placed.
Rolling back only the broken group would free capacity that other groups on the same nodes would immediately consume. Groups that can land on the same node are therefore joined, transitively, into a share block, and a block is the unit carried over together. The union-find walk is driven by each node's own tags rather than a scan of every group, which keeps the failure path cheap on clusters with thousands of untagged resources.
Attribution blocks are the same partition widened with a group for every tag any node carries, so a clique whose replicas are all already placed still has a block to be blamed in.
Stacked PR 5 of 16 of the WAGED instance tag isolation stack.
lzd/waged-iso-04-skeletonwaged-tag-based-isolation, which merges intodevat the endTests
No reachable behavior yet.
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-docasdocs/design/002-waged-instance-tag-isolation.md.Code Quality
Formatted with helix-style.xml.