From f8b6728d3a4bce97456ff07bf6aafcdb6a849c62 Mon Sep 17 00:00:00 2001 From: Waldemar Quevedo Date: Fri, 25 Aug 2023 01:23:08 -0700 Subject: [PATCH] Fix shutdown deadlock in TestJetStreamClusterMemLeaderRestart While shutting down a server an error during purge from a memory stream would cause a deadlock sometimes, this would sometimes show up in the TestJetStreamClusterMemLeaderRestart while tearing down the cluster. Signed-off-by: Waldemar Quevedo --- server/memstore.go | 1 + 1 file changed, 1 insertion(+) diff --git a/server/memstore.go b/server/memstore.go index 29fb2924..5c3b3398 100644 --- a/server/memstore.go +++ b/server/memstore.go @@ -684,6 +684,7 @@ func (ms *memStore) purge(fseq uint64) (uint64, error) { cb := ms.scb bytes := int64(ms.state.Bytes) if fseq < ms.state.LastSeq { + ms.mu.Unlock() return 0, fmt.Errorf("partial purges not supported on memory store") } ms.state.FirstSeq = fseq