Delete the declarations' stream once every node runs the new node-engine, and assert it no more (issue 1945, B13)

A node away during the switch finds its last declaration on the stream; once every node's have names the
node-engine registered, no node reads one, so the stream and the nodes' consumers on it go, said once, and a raise
leaves them out (ADR 0539 clause 11).
This commit is contained in:
2026-10-24 17:28:10 +02:00
parent 03894e5e51
commit b4a62e9e6e
8 changed files with 246 additions and 4 deletions
+6
View File
@@ -156,6 +156,12 @@ func watchHavesForJudgement(ctx context.Context, open *stores) {
if err := rejudgeOn(ctx, open, []string{node}, module); err != nil {
fmt.Printf("compositions: %s on %s is not judged again: %v\n", module, node, err)
}
// A node's node-engine moved: the declarations' stream goes once every node runs the new one.
if module == nodeEngineModule {
if _, err := retireDeclarations(ctx, open); err != nil {
fmt.Printf("compositions: whether the declarations' stream may go cannot be read: %v\n", err)
}
}
})
}
}