jsconsumer: classify jetstream's own connection-closed error; require Durable

main

Commit

nodo1mo ago

Two Start-path gaps: the consume error handler suppressed shutdown noise via nuts.IsShutdownFetchErr, but the jetstream consume loop surfaces its OWN jetstream.ErrConnectionClosed — a distinct sentinel wrapping neither core error — so a clean rollout drain still logged a warning, exactly the COR-923 noise the fold claimed to remove. And an empty Config.Durable sailed into CreateOrUpdateConsumer, which silently creates an ephemeral server-named consumer with no resume-on-restart.

isShutdownConsumeErr now matches both error families (still gated on ctx being done — a mid-run connection loss stays a logged fault), and Start rejects an empty Durable before touching the broker.

Entire-Checkpoint: 71b20e115766

Checkpoints

Unify NATS Consumer Backoff and Tracing

Claude CodeFable 5
View session
Checkpoint 1