mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
lease: store server-decided TTL in lease
If actual TTL is not stored in lease, the client will receive the correct TTL and therefore won't be able to keepalive correctly.
This commit is contained in:
@@ -413,16 +413,17 @@ func (l Lease) removeFrom(b backend.Backend) {
|
||||
// refresh refreshes the expiry of the lease. It extends the expiry at least
|
||||
// minLeaseTTL second.
|
||||
func (l *Lease) refresh() {
|
||||
ttl := l.TTL
|
||||
if l.TTL < minLeaseTTL {
|
||||
ttl = minLeaseTTL
|
||||
l.TTL = minLeaseTTL
|
||||
}
|
||||
|
||||
l.expiry = time.Now().Add(time.Second * time.Duration(ttl))
|
||||
l.expiry = time.Now().Add(time.Second * time.Duration(l.TTL))
|
||||
}
|
||||
|
||||
// forever sets the expiry of lease to be forever.
|
||||
func (l *Lease) forever() {
|
||||
if l.TTL < minLeaseTTL {
|
||||
l.TTL = minLeaseTTL
|
||||
}
|
||||
l.expiry = forever
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user