From 720234d32be4bf669ee85d7d7f1aa9d4c3cf9ee9 Mon Sep 17 00:00:00 2001 From: fanmin shi Date: Fri, 3 Feb 2017 16:25:45 -0800 Subject: [PATCH] clientv3: sends keepalive reqs immediately after lease keep alive stream reset when lease client reset lease keep alive stream, sendKeepAliveLoop() should send out keep alive reqs immediately instead of waiting for 500ms. --- clientv3/lease.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/clientv3/lease.go b/clientv3/lease.go index f5937fd4d..90802a5cb 100644 --- a/clientv3/lease.go +++ b/clientv3/lease.go @@ -452,16 +452,6 @@ func (l *lessor) deadlineLoop() { // sendKeepAliveLoop sends LeaseKeepAliveRequests for the lifetime of a lease stream func (l *lessor) sendKeepAliveLoop(stream pb.Lease_LeaseKeepAliveClient) { for { - select { - case <-time.After(500 * time.Millisecond): - case <-stream.Context().Done(): - return - case <-l.donec: - return - case <-l.stopCtx.Done(): - return - } - var tosend []LeaseID now := time.Now() @@ -480,6 +470,16 @@ func (l *lessor) sendKeepAliveLoop(stream pb.Lease_LeaseKeepAliveClient) { return } } + + select { + case <-time.After(500 * time.Millisecond): + case <-stream.Context().Done(): + return + case <-l.donec: + return + case <-l.stopCtx.Done(): + return + } } }