From 65e0fbfa51c639077ff32a4bc1b0830475877ebb Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Fri, 22 Sep 2023 10:23:02 -0700 Subject: [PATCH 1/2] Make install snapshot errors rate limited for when catching up Signed-off-by: Derek Collison --- server/jetstream_cluster.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/jetstream_cluster.go b/server/jetstream_cluster.go index 311dd0ec..894ffd00 100644 --- a/server/jetstream_cluster.go +++ b/server/jetstream_cluster.go @@ -2229,7 +2229,7 @@ func (js *jetStream) monitorStream(mset *stream, sa *streamAssignment, sendSnaps if err := n.InstallSnapshot(mset.stateSnapshot()); err == nil { lastState, lastSnapTime = curState, time.Now() } else if err != errNoSnapAvailable && err != errNodeClosed { - s.Warnf("Failed to install snapshot for '%s > %s' [%s]: %v", mset.acc.Name, mset.name(), n.Group(), err) + s.RateLimitWarnf("Failed to install snapshot for '%s > %s' [%s]: %v", mset.acc.Name, mset.name(), n.Group(), err) } } From 48240851715715606dbf7388463410efac8b72a3 Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Fri, 22 Sep 2023 10:25:58 -0700 Subject: [PATCH 2/2] Hold lock here as well Signed-off-by: Derek Collison --- server/filestore.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/filestore.go b/server/filestore.go index 0b0d84d5..83467f66 100644 --- a/server/filestore.go +++ b/server/filestore.go @@ -3089,7 +3089,9 @@ func (fs *fileStore) rebuildFirst() { isEmpty := fmb.msgs == 0 fmb.mu.RUnlock() if isEmpty { + fmb.mu.Lock() fs.removeMsgBlock(fmb) + fmb.mu.Unlock() } fs.selectNextFirst() fs.rebuildStateLocked(ld)