fix(queue): roll nominator-positions back — its largest coldkey exceeds the budget - #9682
Open
JSONbored wants to merge 1 commit into
Open
fix(queue): roll nominator-positions back — its largest coldkey exceeds the budget#9682JSONbored wants to merge 1 commit into
JSONbored wants to merge 1 commit into
Conversation
…ds the budget Its largest coldkey holds 722 positions. At ~150 bytes a row that is ~108 KB, and SYNC_BATCH_MAX_BYTES is 96 KB. packSyncBatchMessages CORRECTLY refuses to split a coldkey -- splitting one would delete rows the message never carried, which is the whole reason the guard exists -- so it throws, the route returns 502, and the producer logs: post nominator_positions: sync POST failed: curl: (22) ... error: 502 Observed at 12:47Z, one tick after the cutover. THE PACKER IS RIGHT AND THE BUDGET IS WRONG. 96 KB is the budget for COMBINING groups; a single indivisible group only has to fit the 128 KB transport. Fixing that is a separate change, and this lane rejoins after it. hotkey-alpha and validator-nominator-counts stay: neither prunes, so neither has an indivisible group, and both split freely.
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
metagraphed-data-api | f886657 | Aug 06 2026, 12:58 PM |
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
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.
Rolling one lane back on a measurement.
nominator-positions' largest coldkey holds 722 positions. At ~150 bytes a row that is ~108 KB, andSYNC_BATCH_MAX_BYTESis 96 KB.packSyncBatchMessagescorrectly refuses to split a coldkey — splitting one would delete rows the message never carried, which is the entire reason the guard exists — so it throws, the route returns 502, and the producer logs:Observed at 12:47Z, one tick after the cutover.
The packer is right; the budget is wrong
96 KB is the budget for combining groups into a message. A single indivisible group has a different constraint: it only has to fit the 128 KB transport. Treating both with one number is what made a legitimate 108 KB coldkey unpackable.
Fixing that is a separate change — this lane rejoins after it.
The other two stay
hotkey-alphaandvalidator-nominator-countsdo not prune, so neither has an indivisible group and both split freely. Only the pruning lane has this constraint, which is why only it comes back out.What this validates
The guard did exactly its job: it refused rather than silently splitting, and the failure surfaced as a loud 502 on the first tick instead of as deleted rows discovered later. That is the trade the
key_completedesign was making.