mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-23 13:47:19 +00:00
fix: Hang when canceling leader election information
Hang when canceling leader election information. Occasionally, two leaders may run simultaneously. Kubernetes-commit: b6b46a0e00682517d2ca7b7e9c2706b8e407e52e
This commit is contained in:
parent
8a8d0731de
commit
f9eba8e8c3
@ -304,7 +304,9 @@ func (le *LeaderElector) release() bool {
|
|||||||
RenewTime: now,
|
RenewTime: now,
|
||||||
AcquireTime: now,
|
AcquireTime: now,
|
||||||
}
|
}
|
||||||
if err := le.config.Lock.Update(context.TODO(), leaderElectionRecord); err != nil {
|
timeoutCtx, timeoutCancel := context.WithTimeout(context.Background(), le.config.RenewDeadline)
|
||||||
|
defer timeoutCancel()
|
||||||
|
if err := le.config.Lock.Update(timeoutCtx, leaderElectionRecord); err != nil {
|
||||||
klog.Errorf("Failed to release lock: %v", err)
|
klog.Errorf("Failed to release lock: %v", err)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user