From 0f1a5247d70c77453aef9f189b5344da8c212e25 Mon Sep 17 00:00:00 2001 From: lhy1024 Date: Wed, 22 Jan 2025 20:14:42 +0800 Subject: [PATCH] simple retry Signed-off-by: lhy1024 --- pkg/tso/global_allocator.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/tso/global_allocator.go b/pkg/tso/global_allocator.go index 553e0b0effd..6d20162b0c6 100644 --- a/pkg/tso/global_allocator.go +++ b/pkg/tso/global_allocator.go @@ -140,8 +140,16 @@ func (gta *GlobalTSOAllocator) IsInitialize() bool { } // UpdateTSO is used to update the TSO in memory and the time window in etcd. -func (gta *GlobalTSOAllocator) UpdateTSO() error { - return gta.timestampOracle.UpdateTimestamp() +func (gta *GlobalTSOAllocator) UpdateTSO() (err error) { + for i := 0; i < 3; i++ { + err = gta.timestampOracle.UpdateTimestamp() + if err == nil { + return nil + } + log.Info("failed to update the global tso", errs.ZapError(err)) + time.Sleep(50 * time.Millisecond) + } + return } // SetTSO sets the physical part with given TSO.