From 28bece26b06ec3c99304823b8fef11b26c78e7bf Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 15:14:01 +0100 Subject: [PATCH] Join 11 (try 2): the chunked-answer tests flush the holder's verb before another connection asks it The tests of A-249 and A-257 served the verb on one connection and asked it from another at once; the subscription was still in the holder's buffer when the ask reached the bus, so the ask was answered 503 no responders (13 of 300 runs with -cpu 1 before, 0 of 2000 after). The runner flushes after serving (runtime.go:352, :807); the tests now do as it does. Builds: design 47 G A-249, A-257 Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- node-tools/internal/bus/chunked_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/node-tools/internal/bus/chunked_test.go b/node-tools/internal/bus/chunked_test.go index 5e0d74c..c034965 100644 --- a/node-tools/internal/bus/chunked_test.go +++ b/node-tools/internal/bus/chunked_test.go @@ -57,6 +57,7 @@ func TestAChunkedSeatAnswerIsReceivedByTheRunnerAndHandedWhole(t *testing.T) { t.Fatal(err) } defer stop() + holder.Flush() // the bus holds the verb's subscription before it is asked: the asker is another connection got, err := asker.AskAsChunked("mesh-build-go", "seat:mesh-catalog.input", map[string]any{"digest": "d1"}) if err != nil { t.Fatal(err) @@ -93,6 +94,7 @@ func TestABundlesChunkedAnswerIsSentByTheRunner(t *testing.T) { t.Fatal(err) } defer stop() + holder.Flush() // the bus holds the verb's subscription before it is asked: the asker is another connection got, err := asker.AskAsChunked("mesh-delivery-indexer", "seat:node-build-go.output@anchor", map[string]any{"ask": "a1"}) if err != nil { t.Fatal(err)