From 54db7c3458f778e6cfcede1874ba5e602fe7469a Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 8 Oct 2026 17:36:57 +0200 Subject: [PATCH] Register R330: a message a consumer gave up on is kept (hq issue 330) --- replays/register.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/replays/register.go b/replays/register.go index 5363b90..0b3b39d 100644 --- a/replays/register.go +++ b/replays/register.go @@ -231,6 +231,17 @@ var Register = []Replay{ Asserts: "a tool check on the NATS link the node-engine attaches reaches that link, and is not refused as no link", Package: "./internal/link", Test: "TestReplay331", Files: []string{"internal/link/replay331_test.go"}, Home: "mesh-host", HomeRef: "5684a4579d92"}, + // Messages a consumer gave up on were kept nowhere (2026-10-06): a media server's consumer gave up on + // several downloads after five deliveries each, the controller's condition cleared within minutes, and + // EVENTS dropped them a week later; the dead-letter stream design 25 promised did not exist. A test in + // the controller, written with only what the link had before the fix, laid over the commit before. The + // fix is still on its branch: Fix is its pull request's head, proved against the main it is cut from. + {ID: "R330", Issue: 330, Kind: InRepository, Repository: "mesh-controller", Fix: "909062e", Before: "e3ec15f", + What: "a media server's event consumer gave up on several messages after five deliveries each; the condition " + + "cleared within minutes and nothing kept which messages they were", + Asserts: "a consumer that never acknowledges an event gives it up, and the event is kept on the bus with " + + "its consumer, stream, subject, deliveries and when it was given up", + Package: "./internal/link", Test: "TestReplay330", Files: []string{"internal/link/replay330_test.go"}}, // Not a core incident, and the first of its kind: a module's. The crash loop was found by a person // reading the agent server's log for another reason (issue 268); research 032 measured it, and ADR // 0240 makes the node-engine judge it and the gate fail it.