From 836ffd9148982869a97a1c2904b192a7c36a61fe Mon Sep 17 00:00:00 2001 From: Maurice van Veen Date: Mon, 24 Feb 2025 20:33:36 +0100 Subject: [PATCH] [FIXED] Invalid subscription on ordered consumer in leaderless cluster Signed-off-by: Maurice van Veen --- js.go | 3 +++ jserrors.go | 1 + 2 files changed, 4 insertions(+) diff --git a/js.go b/js.go index fe246aaea..50c97cccf 100644 --- a/js.go +++ b/js.go @@ -2206,6 +2206,9 @@ func (sub *Subscription) resetOrderedConsumer(sseq uint64) { // retry for insufficient resources, as it may mean that client is connected to a running // server in cluster while the server hosting R1 JetStream resources is restarting return + } else if errors.As(err, &apiErr) && apiErr.ErrorCode == JSErrCodeJetStreamNotAvailable { + // retry if JetStream meta leader is temporarily unavailable + return } pushErr(err) return diff --git a/jserrors.go b/jserrors.go index 1c22d812b..1a907a7fa 100644 --- a/jserrors.go +++ b/jserrors.go @@ -166,6 +166,7 @@ const ( JSErrCodeJetStreamNotEnabledForAccount ErrorCode = 10039 JSErrCodeJetStreamNotEnabled ErrorCode = 10076 JSErrCodeInsufficientResourcesErr ErrorCode = 10023 + JSErrCodeJetStreamNotAvailable ErrorCode = 10008 JSErrCodeStreamNotFound ErrorCode = 10059 JSErrCodeStreamNameInUse ErrorCode = 10058