From e563284b34b05e90a06090ec2ae7a42e9b1b76c0 Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Mon, 6 Jan 2025 14:02:36 +0800 Subject: [PATCH] fix Signed-off-by: Ryan Leung --- server/region_syncer/client.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/region_syncer/client.go b/server/region_syncer/client.go index 251e7375bcb..43ec59dd582 100644 --- a/server/region_syncer/client.go +++ b/server/region_syncer/client.go @@ -163,11 +163,14 @@ func (s *RegionSyncer) StartSyncWithLeader(addr string) { } } log.Error("server failed to establish sync stream with leader", zap.String("server", s.server.Name()), zap.String("leader", s.server.GetLeader().GetName()), errs.ZapError(err)) + timer := time.NewTimer(retryInterval) select { case <-ctx.Done(): log.Info("stop synchronizing with leader due to context canceled") + timer.Stop() return - case <-time.After(retryInterval): + case <-timer.C: + timer.Stop() } continue } @@ -180,11 +183,14 @@ func (s *RegionSyncer) StartSyncWithLeader(addr string) { if err = stream.CloseSend(); err != nil { log.Error("failed to terminate client stream", errs.ZapError(errs.ErrGRPCCloseSend, err)) } + timer := time.NewTimer(retryInterval) select { case <-ctx.Done(): log.Info("stop synchronizing with leader due to context canceled") + timer.Stop() return - case <-time.After(retryInterval): + case <-timer.C: + timer.Stop() } break }