From 85f6bfb2ac0208e1c8af02eb5abdd91ac8d8c656 Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Fri, 28 Apr 2023 17:58:45 -0700 Subject: [PATCH] Check healthz periodically Signed-off-by: Derek Collison --- server/jetstream_cluster.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server/jetstream_cluster.go b/server/jetstream_cluster.go index b846f3ee..c5a0262f 100644 --- a/server/jetstream_cluster.go +++ b/server/jetstream_cluster.go @@ -1127,6 +1127,10 @@ func (js *jetStream) monitorCluster() { lt := time.NewTicker(leaderCheckInterval) defer lt.Stop() + const healthCheckInterval = 2 * time.Minute + ht := time.NewTicker(healthCheckInterval) + defer ht.Stop() + var ( isLeader bool lastSnapTime time.Time @@ -1237,6 +1241,11 @@ func (js *jetStream) monitorCluster() { if n.Leader() { js.checkClusterSize() } + case <-ht.C: + if hs := s.healthz(nil); hs.Error != _EMPTY_ { + s.Warnf("%v", hs.Error) + } + case <-lt.C: s.Debugf("Checking JetStream cluster state") // If we have a current leader or had one in the past we can cancel this here since the metaleader