Issue 184: a handler replaced mid-merge loses the rest of its work, and the redelivered announcement reads as history
This commit is contained in:
@@ -29,6 +29,15 @@ either. The design permits the controller to go deaf for as long as a merge take
|
|||||||
status says so: the mesh reads as quiet, builds read as missing, and heartbeats read as a slow
|
status says so: the mesh reads as quiet, builds read as missing, and heartbeats read as a slow
|
||||||
machine.
|
machine.
|
||||||
|
|
||||||
|
## Also seen, 2026-10-01 evening
|
||||||
|
|
||||||
|
The handler's work is lost when the controller is replaced while it runs. The runtime image's merge
|
||||||
|
at 14:22Z was taken by a controller that rolled forty seconds later, after asking the image's own
|
||||||
|
build and before asking the forty-two that stand on it. The announcement was redelivered to the new
|
||||||
|
controller, which judged it history — the source had been looked at after the merge — and said
|
||||||
|
"nothing the mesh holds reads it". The dependents were asked by hand. Whatever shape the fix takes,
|
||||||
|
the work a merge implies has to be recorded as asked, not held in the handler's stack.
|
||||||
|
|
||||||
## What a fix needs to decide
|
## What a fix needs to decide
|
||||||
|
|
||||||
Whether a merge is work the loop dispatches and returns from — the builds asked, the outcomes taken
|
Whether a merge is work the loop dispatches and returns from — the builds asked, the outcomes taken
|
||||||
|
|||||||
Reference in New Issue
Block a user