diff --git a/lease/lessor.go b/lease/lessor.go index be4429ddbab..bfba8fbc3d3 100644 --- a/lease/lessor.go +++ b/lease/lessor.go @@ -329,7 +329,6 @@ func (le *lessor) unsafeLeases() []*Lease { for _, l := range le.leaseMap { leases = append(leases, l) } - sort.Sort(leasesByExpiry(leases)) return leases } @@ -337,6 +336,7 @@ func (le *lessor) Leases() []*Lease { le.mu.RLock() ls := le.unsafeLeases() le.mu.RUnlock() + sort.Sort(leasesByExpiry(ls)) return ls } @@ -360,6 +360,7 @@ func (le *lessor) Promote(extend time.Duration) { // adjust expiries in case of overlap leases := le.unsafeLeases() + sort.Sort(leasesByExpiry(leases)) baseWindow := leases[0].Remaining() nextWindow := baseWindow + time.Second