feat(rollout): persist and recover partial rollout groups - #3507
feat(rollout): persist and recover partial rollout groups#3507macandro96 wants to merge 9 commits into
Conversation
9b2e119 to
c232604
Compare
c232604 to
28c9bfc
Compare
Signed-off-by: Anish Mahishi <amahishi@nvidia.com> (cherry picked from commit c1f1225)
Signed-off-by: Anish Mahishi <amahishi@nvidia.com> (cherry picked from commit 469aa3e)
(cherry picked from commit c26c4c2)
(cherry picked from commit 35a9c2e)
Signed-off-by: Anish Mahishi <amahishi@nvidia.com> (cherry picked from commit 5558d68)
Signed-off-by: Anish Mahishi <amahishi@nvidia.com> (cherry picked from commit fea9ca0)
Signed-off-by: Anish Mahishi <amahishi@nvidia.com> (cherry picked from commit d9b92c9)
Align SingleControllerActor test fixtures with recent finalizer, token_capture, and canonical sample-id changes so the pump helpers and actor-args namespaces construct cleanly under the current __init__. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: root <root@pool0-00992.cm.cluster> (cherry picked from commit faf4b14)
(cherry picked from commit 28c9bfc)
28c9bfc to
bf248c6
Compare
|
@macandro96 — heads-up that this draft and my #3783 rewrite the same three lines in Both replace done, _ = await asyncio.wait(set(tasks), return_when=asyncio.FIRST_COMPLETED)with a loop that keeps waiting on the still-pending set, closing the same window: the rollout pump exhausting normally is the first completion, so under the current code a watchdog raise during the train pump's drain lands on a task nobody awaits and gets swallowed by the Two differences worth knowing before you rebase:
#3783 is 177/-16 on two files, based on Suggestion, entirely yours to take or leave: let #3783 land the loop on its own, then drop your copy at rebase — it's incidental to the rollout-recovery feature this PR is actually about, and it'd stop gating a small fix behind a 1877-line stack. No new-file collision either way. :) |
|
Will be superseded by #3923 |
What does this PR do?
Persists partial-rollout lineage with native TQ state and recovers it through the Single Controller restart lifecycle.
Frequent rollout-only snapshots are added by #3508.
Stack
Recovery contract
The persisted controller sidecar remains metadata-only.
Validation