mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-02 00:07:50 +00:00
Update acquire to use newer JitterUntil vs. sleep with 0 timer which may
have caused a race in Until.
This commit is contained in:
parent
9fab05fe59
commit
9a02bffe6d
@ -1,2 +1,3 @@
|
||||
assignees:
|
||||
- mikedanese
|
||||
- timothysc
|
||||
|
@ -203,18 +203,17 @@ func (le *LeaderElector) IsLeader() bool {
|
||||
// acquire loops calling tryAcquireOrRenew and returns immediately when tryAcquireOrRenew succeeds.
|
||||
func (le *LeaderElector) acquire() {
|
||||
stop := make(chan struct{})
|
||||
wait.Until(func() {
|
||||
wait.JitterUntil(func() {
|
||||
succeeded := le.tryAcquireOrRenew()
|
||||
le.maybeReportTransition()
|
||||
if !succeeded {
|
||||
glog.V(4).Infof("failed to renew lease %v/%v", le.config.EndpointsMeta.Namespace, le.config.EndpointsMeta.Name)
|
||||
time.Sleep(wait.Jitter(le.config.RetryPeriod, JitterFactor))
|
||||
return
|
||||
}
|
||||
le.config.EventRecorder.Eventf(&api.Endpoints{ObjectMeta: le.config.EndpointsMeta}, api.EventTypeNormal, "%v became leader", le.config.Identity)
|
||||
glog.Infof("sucessfully acquired lease %v/%v", le.config.EndpointsMeta.Namespace, le.config.EndpointsMeta.Name)
|
||||
close(stop)
|
||||
}, 0, stop)
|
||||
}, le.config.RetryPeriod, JitterFactor, true, stop)
|
||||
}
|
||||
|
||||
// renew loops calling tryAcquireOrRenew and returns immediately when tryAcquireOrRenew fails.
|
||||
|
Loading…
Reference in New Issue
Block a user