Skip to content

Instantly share code, notes, and snippets.

@lysu
lysu / ddw.gif
Created December 18, 2020 15:02 — forked from zjs1224522500/ddw.gif
ddw.gif
@lysu
lysu / dog.gif
Created December 18, 2020 15:02 — forked from zjs1224522500/dog.gif
dog.gif
@lysu
lysu / genrule.go
Created July 3, 2020 02:12
generate rule
package main
import (
"encoding/hex"
"encoding/json"
"fmt"
"github.com/pingcap/tidb/util/codec"
"os"
"strings"
)
const (
ENC_GROUP_SIZE = 8
ENC_MARKER = byte(0xFF)
)
func DecodeKVStorageKeyToKey(data []byte) []byte {
key := make([]byte, 0, len(data)/(ENC_GROUP_SIZE+1)*ENC_GROUP_SIZE)
offset := 0
chunkLen := ENC_GROUP_SIZE + 1
[2019-08-01T08:49:07.902Z] ==================
[2019-08-01T08:49:07.902Z] WARNING: DATA RACE
[2019-08-01T08:49:07.902Z] Read at 0x00c0012bdde0 by goroutine 461:
[2019-08-01T08:49:07.902Z] github.com/pingcap/tidb/distsql.(*selectResult).getSelectResp()
[2019-08-01T08:49:07.902Z] /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/distsql/select_result.go:190 +0x78b
[2019-08-01T08:49:07.902Z] github.com/pingcap/tidb/distsql.(*selectResult).Next()
[2019-08-01T08:49:07.902Z] /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/distsql/select_result.go:149 +0xf0
[2019-08-01T08:49:07.902Z] github.com/pingcap/tidb/executor.(*tableResultHandler).nextChunk()
[2019-08-01T08:49:07.902Z] /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/executor/table_reader.go:219 +0xaa
[2019-08-01T08:49:07.902Z] github.com/pingcap/tidb/executor.(*TableReaderExecutor).Next()
@lysu
lysu / test.go
Last active July 3, 2019 04:57
package tikvrpc
import (
"github.com/pingcap/kvproto/pkg/kvrpcpb"
"testing"
"unsafe"
)
2019/06/14 10:31:51.661914 levels.go:793: [info] Compaction Done for level: &{RWMutex:{w:{state:0 sema:0} writerSem:0 readerSem:0 readerCount:0 readerWait:0} tables:[0xc000121400 0xc000120780 0xc000120500 0xc000120640 0xc000120280 0xc0001217c0] totalSize:241005710 level:1 strLevel:l1 maxTotalSize:268435456 db:0xc000351180}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x929456]
goroutine 64779 [running]:
github.com/pingcap/kvproto/pkg/kvrpcpb.(*MvccGetByKeyResponse).Size(0x0, 0x7f576c4038f8)
/home/robi/code/go/pkg/mod/github.com/pingcap/kvproto@v0.0.0-20190227013052-e71ca0165a5f/pkg/kvrpcpb/kvrpcpb.pb.go:8756 +0x26
github.com/pingcap/kvproto/pkg/kvrpcpb.(*MvccGetByKeyResponse).Marshal(0x0, 0x123de20, 0x0, 0x7f576c4038f8, 0x0, 0x110e201)
/home/robi/code/go/pkg/mod/github.com/pingcap/kvproto@v0.0.0-20190227013052-e71ca0165a5f/pkg/kvrpcpb/kvrpcpb.pb.go:7175 +0x2f
google.golang.org/grpc/encoding/proto.codec.Marshal(0x123de20
@lysu
lysu / capture
Created April 11, 2019 03:34 — forked from siddontang/capture
A tool to capture TiKV gRPC message
go run tikv-assembly.go -f "port 20160" -i lo0
2018/12/29 20:17:17 Starting capture on interface "lo0"
2018/12/29 20:17:17 reading in packets
2018/12/29 20:17:26 127.0.0.1:64989 -> 127.0.0.1:20160 /tikvpb.Tikv/KvPrewrite context:<region_id:2 region_epoch:<conf_ver:1 version:1 > peer:<id:3 store_id:1 > > mutations:<key:"usertable:a" value:"\010\000\002\0020" > primary_lock:"usertable:a" start_version:405297128206237697 lock_ttl:3000
2018/12/29 20:17:26 127.0.0.1:20160 -> 127.0.0.1:64989 /tikvpb.Tikv/KvPrewrite
2018/12/29 20:17:26 127.0.0.1:64995 -> 127.0.0.1:20160 /tikvpb.Tikv/KvCommit context:<region_id:2 region_epoch:<conf_ver:1 version:1 > peer:<id:3 store_id:1 > > start_version:405297128206237697 keys:"usertable:a" commit_version:405297128206237698
2018/12/29 20:17:26 127.0.0.1:20160 -> 127.0.0.1:64995 /tikvpb.Tikv/KvCommit
2018/12/29 20:17:29 127.0.0.1:64999 -> 127.0.0.1:20160 /tikvpb.Tikv/KvGet context:<region_id:2 region_epoch:<conf_ver:1 version:1 > peer:<id:3 store_id:1 > > key:"usertable:a" version:4
2019-03-18 00:21:37,810 [main] TRACE - new LogicalTableScan#0
2019-03-18 00:21:38,079 [main] TRACE - new LogicalFilter#1
2019-03-18 00:21:38,093 [main] TRACE - new LogicalProject#2
2019-03-18 00:21:38,094 [main] TRACE - new LogicalSort#3
2019-03-18 00:21:38,126 [main] TRACE - new LogicalTableScan#4
2019-03-18 00:21:38,144 [main] TRACE - new HepRelVertex#5
2019-03-18 00:21:38,145 [main] TRACE - new LogicalFilter#6
2019-03-18 00:21:38,145 [main] TRACE - new HepRelVertex#7
2019-03-18 00:21:38,145 [main] TRACE - new LogicalProject#8
2019-03-18 00:21:38,148 [main] TRACE - new HepRelVertex#9
@lysu
lysu / proc.go
Last active December 27, 2018 08:09
findrunnable
ROUTINE ======================== runtime.findrunnable in /usr/local/go/src/runtime/proc.go
4.80s 4.59mins (flat, cum) 41.09% of Total
. . 2270: // The conditions here and in handoffp must agree: if
. . 2271: // findrunnable would return a G to run, handoffp must start
. . 2272: // an M.
. . 2273:
. . 2274:top:
220ms 220ms 2275: _p_ := _g_.m.p.ptr()
50ms 50ms 2276: if sched.gcwaiting != 0 {
. 7.04s 2277: gcstopm()