From b86e941ce4f55ccfb8e9326ad1feafe42ecca73e Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Wed, 7 Sep 2022 10:52:27 -0700 Subject: [PATCH] tweak lost quorum reporting Signed-off-by: Derek Collison --- server/jetstream_cluster.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/server/jetstream_cluster.go b/server/jetstream_cluster.go index 66716c9d..5f63e553 100644 --- a/server/jetstream_cluster.go +++ b/server/jetstream_cluster.go @@ -690,16 +690,26 @@ func (js *jetStream) isGroupLeaderless(rg *raftGroup) bool { // If we don't have a leader. if rg.node.GroupLeader() == _EMPTY_ { // Threshold for jetstream startup. - const startupThreshold = 2 * time.Second + const startupThreshold = 5 * time.Second + // Minimum threshold for lost quorom reporting. + const minLostThreshold = 3 * time.Second if rg.node.HadPreviousLeader() { // Make sure we have been running long enough to intelligently determine this. if time.Since(js.started) > startupThreshold { return true + } else { + return false } } + + // Set to lower threshold + lqThreshold := lostQuorumInterval + if lqThreshold < minLostThreshold { + lqThreshold = minLostThreshold + } // Make sure we have been running for enough time. - if time.Since(rg.node.Created()) > lostQuorumInterval { + if time.Since(rg.node.Created()) > lqThreshold { return true } }