diff --git a/clientv3/lease.go b/clientv3/lease.go index 4cfafc49e..00873b02d 100644 --- a/clientv3/lease.go +++ b/clientv3/lease.go @@ -250,7 +250,10 @@ func (l *lessor) keepAliveCtxCloser(id LeaseID, ctx context.Context, donec <-cha } func (l *lessor) keepAliveOnce(ctx context.Context, id LeaseID) (*LeaseKeepAliveResponse, error) { - stream, err := l.getRemote().LeaseKeepAlive(ctx) + cctx, cancel := context.WithCancel(ctx) + defer cancel() + + stream, err := l.getRemote().LeaseKeepAlive(cctx) if err != nil { return nil, err }