Deliver a dead letter again only where it is received, and never stop serving for the notices
mesh/merge-gate pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step; every machine composes with the change as it…
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group fix/330-a-message-given-up-on-is-kept delivered: every member is delivered

A dead letter was let go as delivered even when its consumer did not filter
its again subject; seat asks needed a grant over every seat's queue and left
the original stuck; a notices bind failure stopped the controller (review).
This commit is contained in:
jochen
2026-10-08 18:32:58 +02:00
parent 826dcb91b1
commit 909062e729
10 changed files with 236 additions and 53 deletions
+2
View File
@@ -688,6 +688,8 @@ func watchTheMesh(ctx context.Context, open *stores, server *link.Server, bus li
return func() {
stop()
stopHearing()
// No longer serving: the verb answers that it does not read DEAD_LETTERS here (novox/hq issue 330).
deadLettersOn.Store(nil)
flushing, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
keeper.Close(flushing)