From 08307f7a3fc56f32d52e1c3332b4dab7b5b9684e Mon Sep 17 00:00:00 2001 From: Neil Shen Date: Tue, 11 Aug 2020 16:04:35 +0800 Subject: [PATCH] checksum: fix SEGFAULT during backup Signed-off-by: Neil Shen --- pkg/checksum/executor.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/checksum/executor.go b/pkg/checksum/executor.go index 4860b02a0..fd9e10d1c 100644 --- a/pkg/checksum/executor.go +++ b/pkg/checksum/executor.go @@ -200,11 +200,9 @@ func buildIndexRequest( } func sendChecksumRequest( - ctx context.Context, - client kv.Client, - req *kv.Request, + ctx context.Context, client kv.Client, req *kv.Request, vars *kv.Variables, ) (resp *tipb.ChecksumResponse, err error) { - res, err := distsql.Checksum(ctx, client, req, nil) + res, err := distsql.Checksum(ctx, client, req, vars) if err != nil { return nil, err } @@ -273,7 +271,12 @@ func (exec *Executor) Execute( ) (*tipb.ChecksumResponse, error) { checksumResp := &tipb.ChecksumResponse{} for _, req := range exec.reqs { - resp, err := sendChecksumRequest(ctx, client, req) + // Pointer to SessionVars.Killed + // Killed is a flag to indicate that this query is killed. + // + // It is useful in TiDB, however, it's a place holder in BR. + killed := uint32(0) + resp, err := sendChecksumRequest(ctx, client, req, kv.NewVariables(&killed)) if err != nil { return nil, err }