From b7b130d826a72a918e9df8f512691de92dbe58e8 Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Thu, 2 Oct 2014 09:14:28 -0700 Subject: [PATCH] engine: don't panic if TTL <= 0 Fix #933 --- engine/engine.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/engine/engine.go b/engine/engine.go index 9d532a9c5..f6682be20 100644 --- a/engine/engine.go +++ b/engine/engine.go @@ -150,13 +150,6 @@ func acquireLeadership(lReg registry.LeaseRegistry, machID string, ver int, ttl return l } - rem := existing.TimeRemaining() - expire := time.NewTicker(rem) - - // call Stop to speed up garbage collection in the event - // that the Lease cannot be stolen - defer expire.Stop() - if existing.Version() >= ver { log.V(1).Infof("Lease already held by Machine(%s) operating at acceptable version %d", existing.MachineID(), existing.Version()) return nil @@ -173,9 +166,10 @@ func acquireLeadership(lReg registry.LeaseRegistry, machID string, ver int, ttl log.Infof("Stole engine leadership from Machine(%s)", existing.MachineID()) + rem := existing.TimeRemaining() if rem > 0 { log.Infof("Waiting %v for previous lease to expire before continuing reconciliation", rem) - <-expire.C + <-time.After(rem) } return l