client-go icon indicating copy to clipboard operation
client-go copied to clipboard

RawKV API v2 panic

Open pingyu opened this issue 2 years ago • 1 comments

client-go version: v2.0.1-0.20220713085647-57c12f7c64f6

RawKV API v2 panic:

    Test Panicked
    runtime error: slice bounds out of range [4:1]

Stack:

    panic({0x2bc02c0, 0xc0632fc5b8})
        /disk1/home/pingyu/opt/go-1.18/src/runtime/panic.go:838 +0x207
    github.com/tikv/client-go/v2/internal/client.MapV2RangeToV1(0x0, {0xc04567e0e0, 0x1, 0x9}, {0xc04567e0f0, 0x1, 0x9})
        /disk1/home/pingyu/go/pkg/mod/github.com/tikv/client-go/[email protected]/internal/client/api_version.go:87 +0x21c
    github.com/tikv/client-go/v2/internal/locate.(*CodecPDClientV2).decodeRegionWithShallowCopy(0xc000ab1e70, 0xc0570f9a00)
        /disk1/home/pingyu/go/pkg/mod/github.com/tikv/client-go/[email protected]/internal/locate/pd_codec_v2.go:107 +0x172
    github.com/tikv/client-go/v2/internal/locate.(*RegionCache).OnRegionEpochNotMatch(0xc000acef70, 0x2d6e9b5?, 0xc029457880, {0xc02e0a3b00, 0x4, 0x2?})
        /disk1/home/pingyu/go/pkg/mod/github.com/tikv/client-go/[email protected]/internal/locate/region_cache.go:1776 +0x4a5
    github.com/tikv/client-go/v2/internal/locate.(*RegionRequestSender).onRegionError(0xc057287cc8, 0xc029c0cab0, 0xc029457880, 0xc029c18a00, 0xc02b5673f0)
        /disk1/home/pingyu/go/pkg/mod/github.com/tikv/client-go/[email protected]/internal/locate/region_request.go:1465 +0xca5
    github.com/tikv/client-go/v2/internal/locate.(*RegionRequestSender).SendReqCtx(0xc057287cc8, 0xc029c0cab0, 0xc029c18a00, {0x401e, 0x5, 0xa4}, 0x6fc23ac00, 0x0, {0x0, 0x0, ...})
        /disk1/home/pingyu/go/pkg/mod/github.com/tikv/client-go/[email protected]/internal/locate/region_request.go:1043 +0x123a
    github.com/tikv/client-go/v2/internal/locate.(*RegionRequestSender).SendReq(...)
        /disk1/home/pingyu/go/pkg/mod/github.com/tikv/client-go/[email protected]/internal/locate/region_request.go:233
    github.com/tikv/client-go/v2/rawkv.(*Client).sendReq(0xc00051f950, {0x3089430?, 0xc000cf20c0}, {0xc00324e8d0, 0x12, 0x18}, 0x13?, 0x0)
        /disk1/home/pingyu/go/pkg/mod/github.com/tikv/client-go/[email protected]/rawkv/rawkv.go:678 +0x236
    github.com/tikv/client-go/v2/rawkv.(*Client).CompareAndSwap(0xc00051f950, {0x3089430, 0xc000cf20c0}, {0xc00324e8d0, 0x12, 0x18}, {0x0, 0x0, 0x0}, {0xc0450eaa50, ...}, ...)
        /disk1/home/pingyu/go/pkg/mod/github.com/tikv/client-go/[email protected]/rawkv/rawkv.go:645 +0x3da
    github.com/pingcap/endless/testcase/rawkv/api_v2.CASLockingWorkload.func1()
        /disk1/home/pingyu/workspace/endless/testcase/rawkv/api_v2/workload.go:184 +0x25c
    golang.org/x/sync/errgroup.(*Group).Go.func1()
        /disk1/home/pingyu/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:57 +0x67
    created by golang.org/x/sync/errgroup.(*Group).Go
        /disk1/home/pingyu/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:54 +0x8d

pingyu avatar Jul 13 '22 15:07 pingyu

/cc @iosmanthus

pingyu avatar Jul 13 '22 15:07 pingyu