浏览代码

clientv3: check stream context in lease keep alive send loop

If no leases are being kept alive, a connection reset would leak
the send routine since it would only test the stream when sending
keep alives.

Fixes #5200
Anthony Romano 9 年之前
父节点
当前提交
30a9229f38
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      clientv3/lease.go

+ 2 - 0
clientv3/lease.go

@@ -351,6 +351,8 @@ 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():