Register R348: a fault from before a send failed the builds sent after it (hq issue 348)
mesh/merge-gate head becff66e0a8a merged into trunk 2aebf8f40e25 — pass: the change touches no module of the mesh's graph
mesh/repo-check head becff66e0a8a merged into trunk 2aebf8f40e25 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
mesh/delivery-group group fix/348-replay delivered: every member is delivered

Proved with replays/cmd/prove: it fails on mesh-controller #179's first parent
and passes on the fix. The resolver's half (mesh-catalog #161) has no replay:
the module had no Go before it, and the binding's loss never reproduced past
its burst; the entry says so.
This commit is contained in:
jochen
2026-10-13 06:09:50 +02:00
parent 2aebf8f40e
commit becff66e0a
+19
View File
@@ -530,6 +530,25 @@ var Register = []Replay{
"the fixed module plans it at the later merge's commit, and one does", "the fixed module plans it at the later merge's commit, and one does",
Package: "./cmd/mesh-controller", Test: "TestReplay349", Files: []string{"cmd/mesh-controller/replay349_test.go"}, Package: "./cmd/mesh-controller", Test: "TestReplay349", Files: []string{"cmd/mesh-controller/replay349_test.go"},
Home: "mesh-controller", HomeRef: "5740874ce3b99b47c27403f33e6c6d2a334ad3d7"}, Home: "mesh-controller", HomeRef: "5740874ce3b99b47c27403f33e6c6d2a334ad3d7"},
// A resolver that stopped answering ran on unnoticed, and builds sent after it were blamed for it (2026-10-09):
// the control node's resolver refused every question on its private address from 10:57:57 UTC and the machine's
// network condition was raised at 10:58:45. The controller and the node-engine sent at 10:59:34 failed their gate
// with "raised since it was sent", because the restarted engine's first, undecided statement cleared the condition
// and its next look raised it anew after the send. A test of its own in the controller, written with only what it
// had before — a mesh, stateHealth, the keeper's open conditions, aboutTheMachine — laid over the commit before.
// Needs a store: MESH_TEST_POSTGRES. Fix is the merge of its pull request (mesh-controller #179); Home is the
// commit that added the replay, reachable once its pull request merges. The resolver's own half — it binds each
// address once and its watch asks it a real question and restarts it (mesh-catalog #161, 105cc7c0) — has no
// replay here: the module had no Go before that fix, and the binding's loss was never reproduced past the burst
// that caused it (hq issue 348's diagnosis); dnsmasq's own tests and the controller's manifest test hold it.
{ID: "R348", Issue: 348, Kind: InRepository, Repository: "mesh-controller", Fix: "9ca7952d5e0a5ed1e23bdcf5aea36fe967e62d14",
What: "a network fault raised before a send was cleared by a restarted node-engine's undecided statement and " +
"raised again after it, and the gate put back the builds sent after the fault began",
Asserts: "a build sent while the machine's network condition is open, which flaps after the send, is not held " +
"for it, and an undecided statement does not clear the condition",
Package: "./cmd/mesh-controller", Test: "TestReplay348AFaultFromBeforeTheSendFailsNoGate",
Files: []string{"cmd/mesh-controller/replay348_test.go"},
Home: "mesh-controller", HomeRef: "6eea92c323f4862d4162f9d977c8783d8a62efc3"},
} }
// Find is the replay of that id, or of that issue. // Find is the replay of that id, or of that issue.