diff --git a/cmd/mesh-controller/push.go b/cmd/mesh-controller/push.go index 4da42308..651765ec 100644 --- a/cmd/mesh-controller/push.go +++ b/cmd/mesh-controller/push.go @@ -225,8 +225,11 @@ func serve(ctx context.Context) (err error) { if !isNATS { return errors.New("the mesh's verbs are served over the bus, and this control plane is not on it") } - // The hand-act log is counted for `status` on this connection rather than a new one a minute. + // The hand-act log is counted for `status` on this connection rather than a new one a minute; no longer serving, the + // connection is closed, and a verb run after in this process dials its own (a served test's leftover failed the + // next test's `conditions` with "connection closed", issue 1945). handActConn = bus.Conn + defer func() { handActConn = nil }() // And everything else this controller does on the bus for a moment (novox/hq issue 327). servingBus.Store(server.JetStream()) // No longer serving: nothing is lent, and dead-letters says it is not read here (novox/hq issue 330).