Simulation-based regression tests for #801 (blocked on timely#810)#805
Draft
frankmcsherry wants to merge 1 commit into
Draft
Simulation-based regression tests for #801 (blocked on timely#810)#805frankmcsherry wants to merge 1 commit into
frankmcsherry wants to merge 1 commit into
Conversation
tests/sim_scc.rs runs the strongly_connected_at computation of the TimelyDataflow#801 repro on timely::simulate: all workers on one thread, message delivery driven by a seeded schedule of step/deliver decisions with fair stretches and chaos windows, compared against a sequential SCC oracle. Before the TimelyDataflow#802 join fix, the default configuration (one worker, 100 input rounds, seed 0) livelocked deterministically -- the loop diverged, producing corrections at unbounded iteration indices -- and wider sweeps failed on every seed; with the fix it completes and matches the oracle in about a second. The seeded grind and knobs (SEED/ROUNDS/CHUNK/PEERS/FAIR/CHAOS_*) remain for exploration, with the grind #[ignore]d. tests/prop_at.rs exercises propagate_at alone (two-level product timestamps) against a min-label-reachability oracle: the negative control -- it passed throughout the TimelyDataflow#801 investigation, which localized the bug to the nested (three-level) setting. BLOCKED, NOT MERGEABLE AS-IS: timely::simulate is TimelyDataflow/timely-dataflow#810, and this branch points the workspace at that PR's branch (frankmcsherry/timely-dataflow, branch "simulation") via a git dependency. Once a timely release includes #810, restore the crates-io timely dependency in Cargo.toml and open this as a real PR. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Deterministic-simulation regression tests for #801, runnable today but blocked on TimelyDataflow/timely-dataflow#810 — parked as a draft so the work is visible and resumable.
tests/sim_scc.rs: the propagate_at / strongly_connected_at: nondeterministic (wrong output + hangs) under multi-worker contention #801 computation (strongly_connected_at) ontimely::simulate, seeded step/deliver schedules with fair stretches and chaos windows, checked against a sequential SCC oracle. Pre-join: do not drop in-flight batches overtaken by advance_upper (#801) #802 the default configuration (one worker, 100 rounds, seed 0) livelocked deterministically and sweeps failed on every seed; post-fix it passes in ~1s. Env knobs (SEED/ROUNDS/CHUNK/PEERS/FAIR/CHAOS_*) and an#[ignore]d seeded grind remain for exploration.tests/prop_at.rs:propagate_atalone against a min-label-reachability oracle — the negative control that localized propagate_at / strongly_connected_at: nondeterministic (wrong output + hangs) under multi-worker contention #801 to the nested setting.To land after timely ships #810:
Cargo.toml, replace the git dependency onfrankmcsherry/timely-dataflow(branchsimulation) with the crates-io timely version that includestimely::simulate.master-next, confirmcargo test -p differential-dataflow(140 tests as of this branch), and mark ready for review.Context: #801 (the bug), #802 (the fix this regresses against), timely#810 (the simulation harness). With the current git dependency the branch builds and the full suite passes, so CI here should be green modulo the dependency's acceptability.
🤖 Generated with Claude Code