MCPcopy
hub / github.com/kubernetes/client-go / acquire

Method acquire

tools/leaderelection/leaderelection.go:230–249  ·  view source on GitHub ↗

acquire loops calling tryAcquireOrRenew and returns true immediately when tryAcquireOrRenew succeeds. Returns false if ctx signals done.

(ctx context.Context)

Source from the content-addressed store, hash-verified

228// acquire loops calling tryAcquireOrRenew and returns true immediately when tryAcquireOrRenew succeeds.
229// Returns false if ctx signals done.
230func (le *LeaderElector) acquire(ctx context.Context) bool {
231 ctx, cancel := context.WithCancel(ctx)
232 defer cancel()
233 succeeded := false
234 desc := le.config.Lock.Describe()
235 klog.Infof("attempting to acquire leader lease %v...", desc)
236 wait.JitterUntil(func() {
237 succeeded = le.tryAcquireOrRenew()
238 le.maybeReportTransition()
239 if !succeeded {
240 klog.V(4).Infof("failed to acquire lease %v", desc)
241 return
242 }
243 le.config.Lock.RecordEvent("became leader")
244 le.metrics.leaderOn(le.config.Name)
245 klog.Infof("successfully acquired lease %v", desc)
246 cancel()
247 }, le.config.RetryPeriod, JitterFactor, true, ctx.Done())
248 return succeeded
249}
250
251// renew loops calling tryAcquireOrRenew and returns immediately when tryAcquireOrRenew fails or ctx signals done.
252func (le *LeaderElector) renew(ctx context.Context) {

Callers 1

RunMethod · 0.95

Calls 6

tryAcquireOrRenewMethod · 0.95
maybeReportTransitionMethod · 0.95
DescribeMethod · 0.65
RecordEventMethod · 0.65
leaderOnMethod · 0.65
DoneMethod · 0.65

Tested by

no test coverage detected