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:
parent
2b54c5a977
commit
be7d573366
@ -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
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user