瀏覽代碼

Merge pull request #7276 from fanminshi/fix_lease_keep_alive_loop

clientv3: sends keepalive reqs immediately after lease keep alive stream reset
Xiang Li 8 年之前
父節點
當前提交
6fb99a8585
共有 1 個文件被更改,包括 10 次插入10 次删除
  1. 10 10
      clientv3/lease.go

+ 10 - 10
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
+		}
 	}
 }