MCPcopy
hub / github.com/pingcap/tidb / GetSplitSize

Function GetSplitSize

br/pkg/utils/db.go:32–61  ·  view source on GitHub ↗
(ctx sqlexec.RestrictedSQLExecutor)

Source from the content-addressed store, hash-verified

30}
31
32func GetSplitSize(ctx sqlexec.RestrictedSQLExecutor) uint64 {
33 const defaultSplitSize = 96 * 1024 * 1024
34 varStr := "show config where name = 'coprocessor.region-split-size' and type = 'tikv'"
35 rows, fields, err := ctx.ExecRestrictedSQL(
36 kv.WithInternalSourceType(context.Background(), kv.InternalTxnBR),
37 nil,
38 varStr,
39 )
40 if err != nil {
41 log.Warn("failed to get split size, use default value", logutil.ShortError(err))
42 return defaultSplitSize
43 }
44 if len(rows) == 0 {
45 // use the default value
46 return defaultSplitSize
47 }
48
49 d := rows[0].GetDatum(3, &fields[3].Column.FieldType)
50 splitSizeStr, err := d.ToString()
51 if err != nil {
52 log.Warn("failed to get split size, use default value", logutil.ShortError(err))
53 return defaultSplitSize
54 }
55 splitSize, err := units.FromHumanSize(splitSizeStr)
56 if err != nil {
57 log.Warn("failed to get split size, use default value", logutil.ShortError(err))
58 return defaultSplitSize
59 }
60 return uint64(splitSize)
61}
62
63func GetSplitKeys(ctx sqlexec.RestrictedSQLExecutor) int64 {
64 const defaultSplitKeys = 960000

Callers 2

TestRegionSplitInfoFunction · 0.92
GetRegionSplitInfoFunction · 0.85

Calls 5

ShortErrorFunction · 0.92
WarnMethod · 0.80
GetDatumMethod · 0.80
ExecRestrictedSQLMethod · 0.65
ToStringMethod · 0.65

Tested by 1

TestRegionSplitInfoFunction · 0.74