H3: the row of sayOnce feeds the old JetStream client's own no responders, nats.ErrNoStreamResponse (issue 1966, ADR 0668 §1; review round 1, finding 2)
mesh/delivery-group group fix/1966-call-made-once rejected: composed together: the checker's verdict at the members' heads (c54b617d200d): mesh-delivery-checker
mesh/delivery closed: a newer head of the same pull request
mesh/check failed: mesh-delivery-checker: no published of the tagged version of go-meshconditions of mesh-health-and-re… | 9cd03a7430cc on f50442ac7a2d

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
2026-11-10 04:12:04 +01:00
parent 5aa6d39a98
commit 9cd03a7430
+2 -2
View File
@@ -409,11 +409,11 @@ func TestTheNodeKeyCarriesTheNodesFacts(t *testing.T) {
catalogue.UseSeats(all)
q.RestateReads(context.Background())
// And the publish itself (sayOnce): through no responders and a deadline it is published again under one message id,
// And the publish itself (sayOnce): through no responders, as the old JetStream client says it, and a deadline it is published again under one message id,
// so the stream takes it once.
t.Cleanup(busretry.Waits(10*time.Second, time.Millisecond, 2*time.Millisecond))
var ids []string
faults := []error{nats.ErrNoResponders, context.DeadlineExceeded, nil}
faults := []error{nats.ErrNoStreamResponse, context.DeadlineExceeded, nil}
if err := sayOnce(func(id string) error { ids = append(ids, id); return faults[len(ids)-1] }, "s", []byte("{}")); err != nil ||
len(ids) != 3 || ids[0] != ids[2] || ids[0] == "" {
t.Errorf("a publish through two faults: %v, ids %q", err, ids)