From e36950929bf7595ba8f3adac31ee1b43d6b32a4e Mon Sep 17 00:00:00 2001 From: Keisuke Ishigami Date: Thu, 17 Jul 2025 22:33:32 +0900 Subject: [PATCH] set the timeout to Get method Kubernetes-commit: 300c7b815a2eb9598c53c0b386715650f5052804 --- tools/leaderelection/leaderelection.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/leaderelection/leaderelection.go b/tools/leaderelection/leaderelection.go index f7d9f882b..07180630b 100644 --- a/tools/leaderelection/leaderelection.go +++ b/tools/leaderelection/leaderelection.go @@ -307,9 +307,10 @@ func (le *LeaderElector) renew(ctx context.Context) { // release attempts to release the leader lease if we have acquired it. func (le *LeaderElector) release() bool { ctx := context.Background() - + timeoutCtx, timeoutCancel := context.WithTimeout(ctx, le.config.RenewDeadline) + defer timeoutCancel() // update the resourceVersion of lease - oldLeaderElectionRecord, _, err := le.config.Lock.Get(ctx) + oldLeaderElectionRecord, _, err := le.config.Lock.Get(timeoutCtx) if err != nil { if !errors.IsNotFound(err) { klog.Errorf("error retrieving resource lock %v: %v", le.config.Lock.Describe(), err) @@ -329,9 +330,6 @@ func (le *LeaderElector) release() bool { RenewTime: now, AcquireTime: now, } - - timeoutCtx, timeoutCancel := context.WithTimeout(ctx, le.config.RenewDeadline) - defer timeoutCancel() if err := le.config.Lock.Update(timeoutCtx, leaderElectionRecord); err != nil { klog.Errorf("Failed to release lock: %v", err) return false