From b3c491995e64c317af57f5b29da5a1d6537ceb03 Mon Sep 17 00:00:00 2001 From: Ping Yu Date: Wed, 15 Feb 2023 15:57:57 +0800 Subject: [PATCH] fix context leak in BatchDelete (#704) Signed-off-by: Ping Yu --- rawkv/rawkv.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rawkv/rawkv.go b/rawkv/rawkv.go index cfb79011..63dbc851 100644 --- a/rawkv/rawkv.go +++ b/rawkv/rawkv.go @@ -750,9 +750,9 @@ func (c *Client) sendBatchReq(bo *retry.Backoffer, keys [][]byte, options *rawOp singleResp, ok := <-ches if ok { if singleResp.Error != nil { - cancel() if firstError == nil { firstError = errors.WithStack(singleResp.Error) + cancel() } } else if cmdType == tikvrpc.CmdRawBatchGet { cmdResp := singleResp.Resp.(*kvrpcpb.RawBatchGetResponse) @@ -761,6 +761,9 @@ func (c *Client) sendBatchReq(bo *retry.Backoffer, keys [][]byte, options *rawOp } } + if firstError == nil { + cancel() + } return resp, firstError }