Documentation
¶
Index ¶
- Constants
- Variables
- type AsyncCommit
- type Binlog
- type CFConfig
- type ComponentName
- type ConfInfo
- type ConfPrintTemplate
- func (c *ConfPrintTemplate) CollectResult(hd *HandleData, retValue interface{}) error
- func (c *ConfPrintTemplate) GetValStr(hd *HandleData) string
- func (c *ConfPrintTemplate) Print(out io.Writer)
- func (c *ConfPrintTemplate) ResultAbnormal() bool
- func (c *ConfPrintTemplate) SplitComponentAndPath(_ string) map[string][]string
- type Config
- type CoprocessorCache
- type CoprocessorConfig
- type DashboardData
- type Data
- type DeviceData
- type DigestPair
- type ExecutionPlanInfo
- type HandleData
- type LabelPropertyConfig
- type Log
- type NodeData
- type OpenTracing
- type OpenTracingReporter
- type OpenTracingSampler
- type OutputMetaData
- type PDConfig
- type PDServerConfig
- type PdConfig
- type PdConfigData
- type Performance
- type PrintTemplate
- type RaftStoreConfig
- type ReadPoolConfig
- type ReplicationConfig
- type Rule
- type RuleResult
- type RuleSet
- type SQLPerformanceInfo
- type SQLPerformancePrintTemplate
- type Sample
- type ScheduleConfig
- type SchedulerConfig
- type SchedulerConfigs
- type Security
- type ServerConfig
- type SourceDataV2
- type Status
- type StmtSummary
- type StorageConfig
- type StoreLabel
- type StoreLimitConfig
- type TiKVClient
- type TidbConfig
- type TidbConfigData
- type TiflashConfig
- type TiflashConfigData
- type TikvConfig
- type TikvConfigData
- func (cfg *TikvConfigData) ActingName() string
- func (cfg *TikvConfigData) CheckNil() bool
- func (cfg *TikvConfigData) GetComponent() string
- func (cfg *TikvConfigData) GetHost() string
- func (cfg *TikvConfigData) GetPort() int
- func (cfg *TikvConfigData) GetValueByTagPath(tagPath string) reflect.Value
- func (cfg *TikvConfigData) LoadClusterMeta(tidbCluster *models.TiDBCluster, clusterMeta *spec.ClusterMeta)
- type TikvExtraData
- type VersionRange
Constants ¶
const ( PdComponentName ComponentName = "PdConfig" TidbComponentName ComponentName = "TidbConfig" TikvComponentName ComponentName = "TikvConfig" TiflashComponentName ComponentName = "TiflashConfig" PerformanceDashboardComponentName ComponentName = "performance.dashboard" ConfigType = "config" PerformanceType = "performance" DefaultConfigType = "defaultConfig" )
const RejectLeader = "reject-leader"
RejectLeader is the label property type that suggests a store should not have any region leaders.
Variables ¶
var CheckTypeOrder = map[string]int{ ConfigType: 0, PerformanceType: 1, DefaultConfigType: 2, }
Functions ¶
This section is empty.
Types ¶
type AsyncCommit ¶
type AsyncCommit struct {
// Use async commit only if the number of keys does not exceed KeysLimit.
KeysLimit uint `toml:"keys-limit" json:"keys-limit"`
// Use async commit only if the total size of keys does not exceed TotalKeySizeLimit.
TotalKeySizeLimit uint64 `toml:"total-key-size-limit" json:"total-key-size-limit"`
// The duration within which is safe for async commit or 1PC to commit with an old schema.
// The following two fields should NOT be modified in most cases. If both async commit
// and 1PC are disabled in the whole cluster, they can be set to zero to avoid waiting in DDLs.
SafeWindow time.Duration `toml:"safe-window" json:"safe-window"`
// The duration in addition to SafeWindow to make DDL safe.
AllowedClockDrift time.Duration `toml:"allowed-clock-drift" json:"allowed-clock-drift"`
}
AsyncCommit is the config for the async commit feature. The switch to enable it is a system variable.
type Binlog ¶
type Binlog struct {
Enable bool `toml:"enable" json:"enable"`
// If IgnoreError is true, when writing binlog meets error, TiDB would
// ignore the error.
IgnoreError bool `toml:"ignore-error" json:"ignore-error"`
WriteTimeout string `toml:"write-timeout" json:"write-timeout"`
// Use socket file to write binlog, for compatible with kafka version tidb-binlog.
BinlogSocket string `toml:"binlog-socket" json:"binlog-socket"`
// The strategy for sending binlog to pump, value can be "range" or "hash" now.
Strategy string `toml:"strategy" json:"strategy"`
}
Binlog is the config for binlog.
type CFConfig ¶
type CFConfig struct {
BlockSize string `toml:"block-size" json:"block-size"`
BlockCacheSize string `toml:"block-cache-size" json:"block-cache-size"`
DisableBlockCache bool `toml:"disable-block-cache" json:"disable-block-cache"`
CacheIndexAndFilterBlocks bool `toml:"cache-index-and-filter-blocks" json:"cache-index-and-filter-blocks"`
PinL0FilterAndIndexBlocks bool `toml:"pin-l0-filter-and-index-blocks" json:"pin-l0-filter-and-index-blocks"`
UseBloomFilter bool `toml:"use-bloom-filter" json:"use-bloom-filter"`
OptimizeFiltersForHits bool `toml:"optimize-filters-for-hits" json:"optimize-filters-for-hits"`
WholeKeyFiltering bool `toml:"whole-key-filtering" json:"whole-key-filtering"`
BloomFilterBitsPerKey int `toml:"bloom-filter-bits-per-key" json:"bloom-filter-bits-per-key"`
BlockBasedBloomFilter bool `toml:"block-based-bloom-filter" json:"block-based-bloom-filter"`
ReadAmpBytesPerBit int `toml:"read-amp-bytes-per-bit" json:"read-amp-bytes-per-bit"`
CompressionPerLevel []string `toml:"compression-per-level" json:"compression-per-level"`
WriteBufferSize string `toml:"write-buffer-size" json:"write-buffer-size"`
MaxWriteBufferNumber int `toml:"max-write-buffer-number" json:"max-write-buffer-number"`
MinWriteBufferNumberToMerge int `toml:"min-write-buffer-number-to-merge" json:"min-write-buffer-number-to-merge"`
MaxBytesForLevelBase string `toml:"max-bytes-for-level-base" json:"max-bytes-for-level-base"`
TargetFileSizeBase string `toml:"target-file-size-base" json:"target-file-size-base"`
Level0FileNumCompactionTrigger int `toml:"level0-file-num-compaction-trigger" json:"level0-file-num-compaction-trigger"`
Level0SlowdownWritesTrigger int `toml:"level0-slowdown-writes-trigger" json:"level0-slowdown-writes-trigger"`
Level0StopWritesTrigger int `toml:"level0-stop-writes-trigger" json:"level0-stop-writes-trigger"`
MaxCompactionBytes string `toml:"max-compaction-bytes" json:"max-compaction-bytes"`
CompactionPri int `toml:"compaction-pri" json:"compaction-pri"`
DynamicLevelBytes bool `toml:"dynamic-level-bytes" json:"dynamic-level-bytes"`
NumLevels int `toml:"num-levels" json:"num-levels"`
MaxBytesForLevelMultiplier int `toml:"max-bytes-for-level-multiplier" json:"max-bytes-for-level-multiplier"`
CompactionStyle int `toml:"compaction-style" json:"compaction-style"`
DisableAutoCompactions bool `toml:"disable-auto-compactions" json:"disable-auto-compactions"`
DisableWriteStall bool `toml:"disable-write-stall" json:"disable-write-stall"`
SoftPendingCompactionBytesLimit string `toml:"soft-pending-compaction-bytes-limit" json:"soft-pending-compaction-bytes-limit"`
HardPendingCompactionBytesLimit string `toml:"hard-pending-compaction-bytes-limit" json:"hard-pending-compaction-bytes-limit"`
ForceConsistencyChecks bool `toml:"force-consistency-checks" json:"force-consistency-checks"`
PropSizeIndexDistance int `toml:"prop-size-index-distance" json:"prop-size-index-distance"`
PropKeysIndexDistance int `toml:"prop-keys-index-distance" json:"prop-keys-index-distance"`
EnableDoublySkiplist bool `toml:"enable-doubly-skiplist" json:"enable-doubly-skiplist"`
EnableCompactionGuard bool `toml:"enable-compaction-guard" json:"enable-compaction-guard"`
CompactionGuardMinOutputFileSize string `toml:"compaction-guard-min-output-file-size" json:"compaction-guard-min-output-file-size"`
CompactionGuardMaxOutputFileSize string `toml:"compaction-guard-max-output-file-size" json:"compaction-guard-max-output-file-size"`
BottommostLevelCompression string `toml:"bottommost-level-compression" json:"bottommost-level-compression"`
BottommostZstdCompressionDictSize int `toml:"bottommost-zstd-compression-dict-size" json:"bottommost-zstd-compression-dict-size"`
BottommostZstdCompressionSampleSize int `toml:"bottommost-zstd-compression-sample-size" json:"bottommost-zstd-compression-sample-size"`
Titan struct {
MinBlobSize string `toml:"min-blob-size" json:"min-blob-size"`
BlobFileCompression string `toml:"blob-file-compression" json:"blob-file-compression"`
BlobCacheSize string `toml:"blob-cache-size" json:"blob-cache-size"`
MinGcBatchSize string `toml:"min-gc-batch-size" json:"min-gc-batch-size"`
MaxGcBatchSize string `toml:"max-gc-batch-size" json:"max-gc-batch-size"`
DiscardableRatio float64 `toml:"discardable-ratio" json:"discardable-ratio"`
SampleRatio float64 `toml:"sample-ratio" json:"sample-ratio"`
MergeSmallFileThreshold string `toml:"merge-small-file-threshold" json:"merge-small-file-threshold"`
BlobRunMode string `toml:"blob-run-mode" json:"blob-run-mode"`
LevelMerge bool `toml:"level-merge" json:"level-merge"`
RangeMerge bool `toml:"range-merge" json:"range-merge"`
MaxSortedRuns int `toml:"max-sorted-runs" json:"max-sorted-runs"`
GcMergeRewrite bool `toml:"gc-merge-rewrite" json:"gc-merge-rewrite"`
} `toml:"titan" json:"titan"`
}
type ComponentName ¶
type ComponentName = string
type ConfPrintTemplate ¶
func NewConfPrintTemplate ¶
func NewConfPrintTemplate(rule *Rule) *ConfPrintTemplate
func (*ConfPrintTemplate) CollectResult ¶
func (c *ConfPrintTemplate) CollectResult(hd *HandleData, retValue interface{}) error
func (*ConfPrintTemplate) GetValStr ¶
func (c *ConfPrintTemplate) GetValStr(hd *HandleData) string
func (*ConfPrintTemplate) Print ¶
func (c *ConfPrintTemplate) Print(out io.Writer)
func (*ConfPrintTemplate) ResultAbnormal ¶
func (c *ConfPrintTemplate) ResultAbnormal() bool
func (*ConfPrintTemplate) SplitComponentAndPath ¶
func (c *ConfPrintTemplate) SplitComponentAndPath(_ string) map[string][]string
type CoprocessorCache ¶
type CoprocessorCache struct {
// The capacity in MB of the cache. Zero means disable coprocessor cache.
CapacityMB float64 `toml:"capacity-mb" json:"capacity-mb"`
// Only cache requests that containing small number of ranges. May to be changed in future.
AdmissionMaxRanges uint64 `toml:"admission-max-ranges" json:"-"`
// Only cache requests whose result set is small.
AdmissionMaxResultMB float64 `toml:"admission-max-result-mb" json:"-"`
// Only cache requests takes notable time to process.
AdmissionMinProcessMs uint64 `toml:"admission-min-process-ms" json:"-"`
}
CoprocessorCache is the config for coprocessor cache.
type CoprocessorConfig ¶
type CoprocessorConfig struct {
SplitRegionOnTable bool `toml:"split-region-on-table" json:"split-region-on-table"`
BatchSplitLimit int `toml:"batch-split-limit" json:"batch-split-limit"`
RegionMaxSize string `toml:"region-max-size" json:"region-max-size"`
RegionSplitSize string `toml:"region-split-size" json:"region-split-size"`
RegionMaxKeys int `toml:"region-max-keys" json:"region-max-keys"`
RegionSplitKeys int `toml:"region-split-keys" json:"region-split-keys"`
ConsistencyCheckMethod string `toml:"consistency-check-method" json:"consistency-check-method"`
PerfLevel int `toml:"perf-level" json:"perf-level"`
}
type DashboardData ¶
type DashboardData struct {
ExecutionPlanInfoList map[string][2]ExecutionPlanInfo // e.g {"xsdfasdf22sdf": {{min_execution_info}, {max_execution_info}}}
OldVersionProcesskey struct {
GcLifeTime int // s
Count int
}
TombStoneStatistics struct {
Count int
}
}
func (*DashboardData) ActingName ¶
func (d *DashboardData) ActingName() string
type Data ¶
type Data interface {
ActingName() string
}
todo@toto add check nil and how to format nil result
type DeviceData ¶
type DeviceData struct{}
type DigestPair ¶
type ExecutionPlanInfo ¶
type HandleData ¶
func NewHandleData ¶
func NewHandleData(ds []Data) *HandleData
type LabelPropertyConfig ¶
type LabelPropertyConfig map[string][]StoreLabel
LabelPropertyConfig is the config section to set properties to store labels.
type Log ¶
type Log struct {
// Log level.
Level string `toml:"level" json:"level"`
// Log format, one of json or text.
Format string `toml:"format" json:"format"`
// Disable automatic timestamps in output. Deprecated: use EnableTimestamp instead.
DisableTimestamp nullableBool `toml:"disable-timestamp" json:"disable-timestamp"`
// EnableTimestamp enables automatic timestamps in log output.
EnableTimestamp nullableBool `toml:"enable-timestamp" json:"enable-timestamp"`
// DisableErrorStack stops annotating logs with the full stack error
// message. Deprecated: use EnableErrorStack instead.
DisableErrorStack nullableBool `toml:"disable-error-stack" json:"disable-error-stack"`
// EnableErrorStack enables annotating logs with the full stack error
// message.
EnableErrorStack nullableBool `toml:"enable-error-stack" json:"enable-error-stack"`
// File log config.
File struct {
Filename string `json:"filename"`
MaxSize int `json:"max-size"`
MaxDays int `json:"max-days"`
MaxBackups int `json:"max-backups"`
} `toml:"file" json:"file"`
EnableSlowLog bool `toml:"enable-slow-log" json:"enable-slow-log"`
SlowQueryFile string `toml:"slow-query-file" json:"slow-query-file"`
SlowThreshold uint64 `toml:"slow-threshold" json:"slow-threshold"`
ExpensiveThreshold uint `toml:"expensive-threshold" json:"expensive-threshold"`
QueryLogMaxLen uint64 `toml:"query-log-max-len" json:"query-log-max-len"`
RecordPlanInSlowLog uint32 `toml:"record-plan-in-slow-log" json:"record-plan-in-slow-log"`
}
Log is the log section of config.
type NodeData ¶
type NodeData struct {
ID string
Timestamp string
Configs []Config
DeviceData DeviceData
}
type OpenTracing ¶
type OpenTracing struct {
Enable bool `toml:"enable" json:"enable"`
RPCMetrics bool `toml:"rpc-metrics" json:"rpc-metrics"`
Sampler OpenTracingSampler `toml:"sampler" json:"sampler"`
Reporter OpenTracingReporter `toml:"reporter" json:"reporter"`
}
OpenTracing is the opentracing section of the config.
type OpenTracingReporter ¶
type OpenTracingReporter struct {
QueueSize int `toml:"queue-size" json:"queue-size"`
BufferFlushInterval time.Duration `toml:"buffer-flush-interval" json:"buffer-flush-interval"`
LogSpans bool `toml:"log-spans" json:"log-spans"`
LocalAgentHostPort string `toml:"local-agent-host-port" json:"local-agent-host-port"`
}
OpenTracingReporter is the config for opentracing reporter. See https://godoc.org/github.com/uber/jaeger-client-go/config#ReporterConfig
type OpenTracingSampler ¶
type OpenTracingSampler struct {
Type string `toml:"type" json:"type"`
Param float64 `toml:"param" json:"param"`
SamplingServerURL string `toml:"sampling-server-url" json:"sampling-server-url"`
MaxOperations int `toml:"max-operations" json:"max-operations"`
SamplingRefreshInterval time.Duration `toml:"sampling-refresh-interval" json:"sampling-refresh-interval"`
}
OpenTracingSampler is the config for opentracing sampler. See https://godoc.org/github.com/uber/jaeger-client-go/config#SamplerConfig
type OutputMetaData ¶
type PDConfig ¶
type PDConfig struct {
Endpoints []string `toml:"endpoints" json:"endpoints"`
RetryInterval string `toml:"retry-interval" json:"retry-interval"`
RetryMaxCount int64 `toml:"retry-max-count" json:"retry-max-count"`
RetryLogEvery int `toml:"retry-log-every" json:"retry-log-every"`
UpdateInterval string `toml:"update-interval" json:"update-interval"`
EnableForwarding bool `toml:"enable-forwarding" json:"enable-forwarding"`
}
type PDServerConfig ¶
type PDServerConfig struct {
// UseRegionStorage enables the independent region storage.
UseRegionStorage bool `toml:"use-region-storage" json:"use-region-storage,string"`
// MaxResetTSGap is the max gap to reset the TSO.
MaxResetTSGap string `toml:"max-gap-reset-ts" json:"max-gap-reset-ts"`
// KeyType is option to specify the type of keys.
// There are some types supported: ["table", "raw", "txn"], default: "table"
KeyType string `toml:"key-type" json:"key-type"`
// RuntimeServices is the running the running extension services.
RuntimeServices typeutil.StringSlice `toml:"runtime-services" json:"runtime-services"`
// MetricStorage is the cluster metric storage.
// Currently we use prometheus as metric storage, we may use PD/TiKV as metric storage later.
MetricStorage string `toml:"metric-storage" json:"metric-storage"`
// There are some values supported: "auto", "none", or a specific address, default: "auto"
DashboardAddress string `toml:"dashboard-address" json:"dashboard-address"`
// TraceRegionFlow the option to update flow information of regions.
// WARN: TraceRegionFlow is deprecated.
TraceRegionFlow bool `toml:"trace-region-flow" json:"trace-region-flow,string,omitempty"`
// FlowRoundByDigit used to discretization processing flow information.
FlowRoundByDigit int `toml:"flow-round-by-digit" json:"flow-round-by-digit"`
}
PDServerConfig is the configuration for pd server.
type PdConfig ¶
type PdConfig struct {
ClientUrls string `toml:"client-urls" json:"client-urls"`
PeerUrls string `toml:"peer-urls" json:"peer-urls"`
AdvertiseClientUrls string `toml:"advertise-client-urls" json:"advertise-client-urls"`
AdvertisePeerUrls string `toml:"advertise-peer-urls" json:"advertise-peer-urls"`
Name string `toml:"name" json:"name"`
DataDir string `toml:"data-dir" json:"data-dir"`
ForceNewCluster bool `toml:"force-new-cluster" json:"force-new-cluster"`
EnableGrpcGateway bool `toml:"enable-grpc-gateway" json:"enable-grpc-gateway"`
InitialCluster string `toml:"initial-cluster" json:"initial-cluster"`
InitialClusterState string `toml:"initial-cluster-state" json:"initial-cluster-state"`
InitialClusterToken string `toml:"initial-cluster-token" json:"initial-cluster-token"`
Join string `toml:"join" json:"join"`
Lease int `toml:"lease" json:"lease"`
Log struct {
Level string `toml:"level" json:"level"`
Format string `toml:"format" json:"format"`
DisableTimestamp bool `toml:"disable-timestamp" json:"disable-timestamp"`
File struct {
Filename string `toml:"filename" json:"filename"`
MaxSize int `toml:"max-size" json:"max-size"`
MaxDays int `toml:"max-days" json:"max-days"`
MaxBackups int `toml:"max-backups" json:"max-backups"`
} `toml:"file" json:"file"`
Development bool `toml:"development" json:"development"`
DisableCaller bool `toml:"disable-caller" json:"disable-caller"`
DisableStacktrace bool `toml:"disable-stacktrace" json:"disable-stacktrace"`
DisableErrorVerbose bool `toml:"disable-error-verbose" json:"disable-error-verbose"`
Sampling *zap.SamplingConfig `toml:"sampling" json:"sampling"`
} `toml:"log" json:"log"`
TsoSaveInterval string `toml:"tso-save-interval" json:"tso-save-interval"`
TsoUpdatePhysicalInterval string `toml:"tso-update-physical-interval" json:"tso-update-physical-interval"`
EnableLocalTso bool `toml:"enable-local-tso" json:"enable-local-tso"`
Metric struct {
Job string `toml:"job" json:"job"`
Address string `toml:"address" json:"address"`
Interval string `toml:"interval" json:"interval"`
} `toml:"metric" json:"metric"`
Schedule ScheduleConfig `toml:"schedule" json:"schedule"`
Replication ReplicationConfig `toml:"replication" json:"replication"`
PdServer PDServerConfig `toml:"pd-server" json:"pd-server"`
ClusterVersion string `toml:"cluster-version" json:"cluster-version"`
Labels map[string]string `toml:"labels" json:"labels"`
QuotaBackendBytes string `toml:"quota-backend-bytes" json:"quota-backend-bytes"`
AutoCompactionMode string `toml:"auto-compaction-mode" json:"auto-compaction-mode"`
AutoCompactionRetentionV2 string `toml:"auto-compaction-retention-v2" json:"auto-compaction-retention-v2"`
TickInterval string `toml:"TickInterval" json:"TickInterval"`
ElectionInterval string `toml:"ElectionInterval" json:"ElectionInterval"`
PreVote bool `toml:"PreVote" json:"PreVote"`
Security struct {
CacertPath string `toml:"cacert-path" json:"cacert-path"`
CertPath string `toml:"cert-path" json:"cert-path"`
KeyPath string `toml:"key-path" json:"key-path"`
CertAllowedCn []string `toml:"cert-allowed-cn" json:"cert-allowed-cn"`
RedactInfoLog bool `toml:"redact-info-log" json:"redact-info-log"`
Encryption struct {
DataEncryptionMethod string `toml:"data-encryption-method" json:"data-encryption-method"`
DataKeyRotationPeriod string `toml:"data-key-rotation-period" json:"data-key-rotation-period"`
MasterKey struct {
Type string `toml:"type" json:"type"`
KeyID string `toml:"key-id" json:"key-id"`
Region string `toml:"region" json:"region"`
Endpoint string `toml:"endpoint" json:"endpoint"`
Path string `toml:"path" json:"path"`
} `toml:"master-key" json:"master-key"`
} `toml:"encryption" json:"encryption"`
} `toml:"security" json:"security"`
LabelProperty LabelPropertyConfig `toml:"label-property" json:"label-property"`
WarningMsgs []string `toml:"WarningMsgs" json:"WarningMsgs"`
DisableStrictReconfigCheck bool `toml:"DisableStrictReconfigCheck" json:"DisableStrictReconfigCheck"`
HeartbeatStreamBindInterval string `toml:"HeartbeatStreamBindInterval" json:"HeartbeatStreamBindInterval"`
LeaderPriorityCheckInterval string `toml:"LeaderPriorityCheckInterval" json:"LeaderPriorityCheckInterval"`
Dashboard struct {
TidbCacertPath string `toml:"tidb-cacert-path" json:"tidb-cacert-path"`
TidbCertPath string `toml:"tidb-cert-path" json:"tidb-cert-path"`
TidbKeyPath string `toml:"tidb-key-path" json:"tidb-key-path"`
PublicPathPrefix string `toml:"public-path-prefix" json:"public-path-prefix"`
InternalProxy bool `toml:"internal-proxy" json:"internal-proxy"`
EnableTelemetry bool `toml:"enable-telemetry" json:"enable-telemetry"`
EnableExperimental bool `toml:"enable-experimental" json:"enable-experimental"`
} `toml:"dashboard" json:"dashboard"`
ReplicationMode struct {
ReplicationMode string `toml:"replication-mode" json:"replication-mode"`
DrAutoSync struct {
LabelKey string `toml:"label-key" json:"label-key"`
Primary string `toml:"primary" json:"primary"`
Dr string `toml:"dr" json:"dr"`
PrimaryReplicas int `toml:"primary-replicas" json:"primary-replicas"`
DrReplicas int `toml:"dr-replicas" json:"dr-replicas"`
WaitStoreTimeout string `toml:"wait-store-timeout" json:"wait-store-timeout"`
WaitSyncTimeout string `toml:"wait-sync-timeout" json:"wait-sync-timeout"`
WaitAsyncTimeout string `toml:"wait-async-timeout" json:"wait-async-timeout"`
} `toml:"dr-auto-sync" json:"dr-auto-sync"`
} `toml:"replication-mode" json:"replication-mode"`
}
type PdConfigData ¶
func NewPdConfigData ¶
func NewPdConfigData() *PdConfigData
func (*PdConfigData) ActingName ¶
func (cfg *PdConfigData) ActingName() string
func (*PdConfigData) CheckNil ¶
func (cfg *PdConfigData) CheckNil() bool
func (*PdConfigData) GetComponent ¶
func (cfg *PdConfigData) GetComponent() string
func (*PdConfigData) GetHost ¶
func (cfg *PdConfigData) GetHost() string
func (*PdConfigData) GetPort ¶
func (cfg *PdConfigData) GetPort() int
func (*PdConfigData) GetValueByTagPath ¶
func (cfg *PdConfigData) GetValueByTagPath(tagPath string) reflect.Value
type Performance ¶
type Performance struct {
MaxProcs uint `toml:"max-procs" json:"max-procs"`
// Deprecated: use ServerMemoryQuota instead
MaxMemory uint64 `toml:"max-memory" json:"max-memory"`
ServerMemoryQuota uint64 `toml:"server-memory-quota" json:"server-memory-quota"`
MemoryUsageAlarmRatio float64 `toml:"memory-usage-alarm-ratio" json:"memory-usage-alarm-ratio"`
StatsLease string `toml:"stats-lease" json:"stats-lease"`
StmtCountLimit uint `toml:"stmt-count-limit" json:"stmt-count-limit"`
FeedbackProbability float64 `toml:"feedback-probability" json:"feedback-probability"`
QueryFeedbackLimit uint `toml:"query-feedback-limit" json:"query-feedback-limit"`
PseudoEstimateRatio float64 `toml:"pseudo-estimate-ratio" json:"pseudo-estimate-ratio"`
ForcePriority string `toml:"force-priority" json:"force-priority"`
BindInfoLease string `toml:"bind-info-lease" json:"bind-info-lease"`
TxnEntrySizeLimit uint64 `toml:"txn-entry-size-limit" json:"txn-entry-size-limit"`
TxnTotalSizeLimit uint64 `toml:"txn-total-size-limit" json:"txn-total-size-limit"`
TCPKeepAlive bool `toml:"tcp-keep-alive" json:"tcp-keep-alive"`
TCPNoDelay bool `toml:"tcp-no-delay" json:"tcp-no-delay"`
CrossJoin bool `toml:"cross-join" json:"cross-join"`
RunAutoAnalyze bool `toml:"run-auto-analyze" json:"run-auto-analyze"`
DistinctAggPushDown bool `toml:"distinct-agg-push-down" json:"distinct-agg-push-down"`
CommitterConcurrency int `toml:"committer-concurrency" json:"committer-concurrency"`
MaxTxnTTL uint64 `toml:"max-txn-ttl" json:"max-txn-ttl"`
MemProfileInterval string `toml:"mem-profile-interval" json:"mem-profile-interval"`
IndexUsageSyncLease string `toml:"index-usage-sync-lease" json:"index-usage-sync-lease"`
PlanReplayerGCLease string `toml:"plan-replayer-gc-lease" json:"plan-replayer-gc-lease"`
GOGC int `toml:"gogc" json:"gogc"`
EnforceMPP bool `toml:"enforce-mpp" json:"enforce-mpp"`
}
Performance is the performance section of the config.
type PrintTemplate ¶
type PrintTemplate interface {
// TemplateName() string
CollectResult(*HandleData, interface{}) error
Print(io.Writer)
ResultAbnormal() bool
}
type RaftStoreConfig ¶
type RaftStoreConfig struct {
Prevote bool `toml:"prevote" json:"prevote"`
RaftdbPath string `toml:"raftdb-path" json:"raftdb-path"`
Capacity string `toml:"capacity" json:"capacity"`
RaftBaseTickInterval string `toml:"raft-base-tick-interval" json:"raft-base-tick-interval"`
RaftHeartbeatTicks int `toml:"raft-heartbeat-ticks" json:"raft-heartbeat-ticks"`
RaftElectionTimeoutTicks int `toml:"raft-election-timeout-ticks" json:"raft-election-timeout-ticks"`
RaftMinElectionTimeoutTicks int `toml:"raft-min-election-timeout-ticks" json:"raft-min-election-timeout-ticks"`
RaftMaxElectionTimeoutTicks int `toml:"raft-max-election-timeout-ticks" json:"raft-max-election-timeout-ticks"`
RaftMaxSizePerMsg string `toml:"raft-max-size-per-msg" json:"raft-max-size-per-msg"`
RaftMaxInflightMsgs int `toml:"raft-max-inflight-msgs" json:"raft-max-inflight-msgs"`
RaftEntryMaxSize string `toml:"raft-entry-max-size" json:"raft-entry-max-size"`
RaftLogGcTickInterval string `toml:"raft-log-gc-tick-interval" json:"raft-log-gc-tick-interval"`
RaftLogGcThreshold int `toml:"raft-log-gc-threshold" json:"raft-log-gc-threshold"`
RaftLogGcCountLimit int `toml:"raft-log-gc-count-limit" json:"raft-log-gc-count-limit"`
RaftLogGcSizeLimit string `toml:"raft-log-gc-size-limit" json:"raft-log-gc-size-limit"`
RaftLogReserveMaxTicks int `toml:"raft-log-reserve-max-ticks" json:"raft-log-reserve-max-ticks"`
RaftEnginePurgeInterval string `toml:"raft-engine-purge-interval" json:"raft-engine-purge-interval"`
RaftEntryCacheLifeTime string `toml:"raft-entry-cache-life-time" json:"raft-entry-cache-life-time"`
RaftRejectTransferLeaderDuration string `toml:"raft-reject-transfer-leader-duration" json:"raft-reject-transfer-leader-duration"`
SplitRegionCheckTickInterval string `toml:"split-region-check-tick-interval" json:"split-region-check-tick-interval"`
RegionSplitCheckDiff string `toml:"region-split-check-diff" json:"region-split-check-diff"`
RegionCompactCheckInterval string `toml:"region-compact-check-interval" json:"region-compact-check-interval"`
RegionCompactCheckStep int `toml:"region-compact-check-step" json:"region-compact-check-step"`
RegionCompactMinTombstones int `toml:"region-compact-min-tombstones" json:"region-compact-min-tombstones"`
RegionCompactTombstonesPercent int `toml:"region-compact-tombstones-percent" json:"region-compact-tombstones-percent"`
PdHeartbeatTickInterval string `toml:"pd-heartbeat-tick-interval" json:"pd-heartbeat-tick-interval"`
PdStoreHeartbeatTickInterval string `toml:"pd-store-heartbeat-tick-interval" json:"pd-store-heartbeat-tick-interval"`
SnapMgrGcTickInterval string `toml:"snap-mgr-gc-tick-interval" json:"snap-mgr-gc-tick-interval"`
SnapGcTimeout string `toml:"snap-gc-timeout" json:"snap-gc-timeout"`
LockCfCompactInterval string `toml:"lock-cf-compact-interval" json:"lock-cf-compact-interval"`
SnapGeneratorPoolSize int `toml:"snap-generator-pool-size" json:"snap-generator-pool-size"`
LockCfCompactBytesThreshold string `toml:"lock-cf-compact-bytes-threshold" json:"lock-cf-compact-bytes-threshold"`
NotifyCapacity int `toml:"notify-capacity" json:"notify-capacity"`
MessagesPerTick int `toml:"messages-per-tick" json:"messages-per-tick"`
MaxPeerDownDuration string `toml:"max-peer-down-duration" json:"max-peer-down-duration"`
MaxLeaderMissingDuration string `toml:"max-leader-missing-duration" json:"max-leader-missing-duration"`
AbnormalLeaderMissingDuration string `toml:"abnormal-leader-missing-duration" json:"abnormal-leader-missing-duration"`
PeerStaleStateCheckInterval string `toml:"peer-stale-state-check-interval" json:"peer-stale-state-check-interval"`
LeaderTransferMaxLogLag int `toml:"leader-transfer-max-log-lag" json:"leader-transfer-max-log-lag"`
SnapApplyBatchSize string `toml:"snap-apply-batch-size" json:"snap-apply-batch-size"`
ConsistencyCheckInterval string `toml:"consistency-check-interval" json:"consistency-check-interval"`
ReportRegionFlowInterval string `toml:"report-region-flow-interval" json:"report-region-flow-interval"`
RaftStoreMaxLeaderLease string `toml:"raft-store-max-leader-lease" json:"raft-store-max-leader-lease"`
RightDeriveWhenSplit bool `toml:"right-derive-when-split" json:"right-derive-when-split"`
AllowRemoveLeader bool `toml:"allow-remove-leader" json:"allow-remove-leader"`
MergeMaxLogGap int `toml:"merge-max-log-gap" json:"merge-max-log-gap"`
MergeCheckTickInterval string `toml:"merge-check-tick-interval" json:"merge-check-tick-interval"`
UseDeleteRange bool `toml:"use-delete-range" json:"use-delete-range"`
CleanupImportSstInterval string `toml:"cleanup-import-sst-interval" json:"cleanup-import-sst-interval"`
LocalReadBatchSize int `toml:"local-read-batch-size" json:"local-read-batch-size"`
ApplyMaxBatchSize int `toml:"apply-max-batch-size" json:"apply-max-batch-size"`
ApplyPoolSize int `toml:"apply-pool-size" json:"apply-pool-size"`
ApplyRescheduleDuration string `toml:"apply-reschedule-duration" json:"apply-reschedule-duration"`
ApplyLowPriorityPoolSize int `toml:"apply-low-priority-pool-size" json:"apply-low-priority-pool-size"`
StoreMaxBatchSize int `toml:"store-max-batch-size" json:"store-max-batch-size"`
StorePoolSize int `toml:"store-pool-size" json:"store-pool-size"`
StoreRescheduleDuration string `toml:"store-reschedule-duration" json:"store-reschedule-duration"`
StoreLowPriorityPoolSize int `toml:"store-low-priority-pool-size" json:"store-low-priority-pool-size"`
StoreIoPoolSize int `toml:"store-io-pool-size" json:"store-io-pool-size"`
StoreIoNotifyCapacity int `toml:"store-io-notify-capacity" json:"store-io-notify-capacity"`
FuturePollSize int `toml:"future-poll-size" json:"future-poll-size"`
HibernateRegions bool `toml:"hibernate-regions" json:"hibernate-regions"`
DevAssert bool `toml:"dev-assert" json:"dev-assert"`
ApplyYieldDuration string `toml:"apply-yield-duration" json:"apply-yield-duration"`
PerfLevel int `toml:"perf-level" json:"perf-level"`
EvictCacheOnMemoryRatio float64 `toml:"evict-cache-on-memory-ratio" json:"evict-cache-on-memory-ratio"`
CmdBatch bool `toml:"cmd-batch" json:"cmd-batch"`
RaftWriteSizeLimit string `toml:"raft-write-size-limit" json:"raft-write-size-limit"`
WaterfallMetrics bool `toml:"waterfall-metrics" json:"waterfall-metrics"`
IoRescheduleConcurrentMaxCount int `toml:"io-reschedule-concurrent-max-count" json:"io-reschedule-concurrent-max-count"`
IoRescheduleHotpotDuration string `toml:"io-reschedule-hotpot-duration" json:"io-reschedule-hotpot-duration"`
InspectInterval string `toml:"inspect-interval" json:"inspect-interval"`
}
type ReadPoolConfig ¶
type ReadPoolConfig struct {
Unified struct {
MinThreadCount int `toml:"min-thread-count" json:"min-thread-count"`
MaxThreadCount int `toml:"max-thread-count" json:"max-thread-count"`
StackSize string `toml:"stack-size" json:"stack-size"`
MaxTasksPerWorker int `toml:"max-tasks-per-worker" json:"max-tasks-per-worker"`
} `toml:"unified" json:"unified"`
Storage struct {
HighConcurrency int `toml:"high-concurrency" json:"high-concurrency"`
NormalConcurrency int `toml:"normal-concurrency" json:"normal-concurrency"`
LowConcurrency int `toml:"low-concurrency" json:"low-concurrency"`
MaxTasksPerWorkerHigh int `toml:"max-tasks-per-worker-high" json:"max-tasks-per-worker-high"`
MaxTasksPerWorkerNormal int `toml:"max-tasks-per-worker-normal" json:"max-tasks-per-worker-normal"`
MaxTasksPerWorkerLow int `toml:"max-tasks-per-worker-low" json:"max-tasks-per-worker-low"`
StackSize string `toml:"stack-size" json:"stack-size"`
UseUnifiedPool bool `toml:"use-unified-pool" json:"use-unified-pool"`
} `toml:"storage" json:"storage"`
Coprocessor struct {
HighConcurrency int `toml:"high-concurrency" json:"high-concurrency"`
NormalConcurrency int `toml:"normal-concurrency" json:"normal-concurrency"`
LowConcurrency int `toml:"low-concurrency" json:"low-concurrency"`
MaxTasksPerWorkerHigh int `toml:"max-tasks-per-worker-high" json:"max-tasks-per-worker-high"`
MaxTasksPerWorkerNormal int `toml:"max-tasks-per-worker-normal" json:"max-tasks-per-worker-normal"`
MaxTasksPerWorkerLow int `toml:"max-tasks-per-worker-low" json:"max-tasks-per-worker-low"`
StackSize string `toml:"stack-size" json:"stack-size"`
UseUnifiedPool bool `toml:"use-unified-pool" json:"use-unified-pool"`
} `toml:"coprocessor" json:"coprocessor"`
}
type ReplicationConfig ¶
type ReplicationConfig struct {
// MaxReplicas is the number of replicas for each region.
MaxReplicas uint64 `toml:"max-replicas" json:"max-replicas"`
// The label keys specified the location of a store.
// The placement priorities is implied by the order of label keys.
// For example, ["zone", "rack"] means that we should place replicas to
// different zones first, then to different racks if we don't have enough zones.
LocationLabels typeutil.StringSlice `toml:"location-labels" json:"location-labels"`
// StrictlyMatchLabel strictly checks if the label of TiKV is matched with LocationLabels.
StrictlyMatchLabel bool `toml:"strictly-match-label" json:"strictly-match-label,string"`
// When PlacementRules feature is enabled. MaxReplicas, LocationLabels and IsolationLabels are not used any more.
EnablePlacementRules bool `toml:"enable-placement-rules" json:"enable-placement-rules,string"`
// IsolationLevel is used to isolate replicas explicitly and forcibly if it's not empty.
// Its value must be empty or one of LocationLabels.
// Example:
// location-labels = ["zone", "rack", "host"]
// isolation-level = "zone"
// With configuration like above, PD ensure that all replicas be placed in different zones.
// Even if a zone is down, PD will not try to make up replicas in other zone
// because other zones already have replicas on it.
IsolationLevel string `toml:"isolation-level" json:"isolation-level"`
}
ReplicationConfig is the replication configuration.
type Rule ¶
type Rule struct {
// version
ID int64 `yaml:"id" toml:"id"`
Name string `yaml:"name" toml:"name"`
Description string `yaml:"description" toml:"description"`
ExecuteRule string `yaml:"execute_rule" toml:"execute_rule"`
NameStruct string `yaml:"name_struct" toml:"name_struct"` // datatype.component
CheckType string `yaml:"check_type" toml:"check_type"`
ExpectRes string `yaml:"expect_res" toml:"expect_res"`
WarnLevel string `yaml:"warn_level" toml:"warn_level"`
Variation string `yaml:"variation" toml:"variation"` // e.g. tidb.file.max_days,
AlertingRule string `yaml:"alerting_rule" toml:"alerting_rule"`
Suggestion string `yaml:"suggestion" toml:"suggestion"`
}
ruletag: checkType, datatype, component
type RuleResult ¶
type RuleSet ¶
type RuleSet map[string]*Rule // TODO e.g {"Config": {"TidbConfigData": {&Rule{}, &Rule{}}}, "Dashboard": {}}
func (RuleSet) GetNameStructs ¶
type SQLPerformanceInfo ¶
type SQLPerformancePrintTemplate ¶
type SQLPerformancePrintTemplate struct {
Rule *Rule
InfoList *SQLPerformanceInfo
AbnormalDigestCnt int
}
func NewSQLPerformancePrintTemplate ¶
func NewSQLPerformancePrintTemplate(rule *Rule) *SQLPerformancePrintTemplate
func (*SQLPerformancePrintTemplate) CollectResult ¶
func (c *SQLPerformancePrintTemplate) CollectResult(hd *HandleData, retValue interface{}) error
func (*SQLPerformancePrintTemplate) Print ¶
func (c *SQLPerformancePrintTemplate) Print(out io.Writer)
func (*SQLPerformancePrintTemplate) ResultAbnormal ¶
func (c *SQLPerformancePrintTemplate) ResultAbnormal() bool
type ScheduleConfig ¶
type ScheduleConfig struct {
// If the snapshot count of one store is greater than this value,
// it will never be used as a source or target store.
MaxSnapshotCount uint64 `toml:"max-snapshot-count" json:"max-snapshot-count"`
MaxPendingPeerCount uint64 `toml:"max-pending-peer-count" json:"max-pending-peer-count"`
// If both the size of region is smaller than MaxMergeRegionSize
// and the number of rows in region is smaller than MaxMergeRegionKeys,
// it will try to merge with adjacent regions.
MaxMergeRegionSize uint64 `toml:"max-merge-region-size" json:"max-merge-region-size"`
MaxMergeRegionKeys uint64 `toml:"max-merge-region-keys" json:"max-merge-region-keys"`
// SplitMergeInterval is the minimum interval time to permit merge after split.
SplitMergeInterval string `toml:"split-merge-interval" json:"split-merge-interval"`
// EnableOneWayMerge is the option to enable one way merge. This means a Region can only be merged into the next region of it.
EnableOneWayMerge bool `toml:"enable-one-way-merge" json:"enable-one-way-merge,string"`
// EnableCrossTableMerge is the option to enable cross table merge. This means two Regions can be merged with different table IDs.
// This option only works when key type is "table".
EnableCrossTableMerge bool `toml:"enable-cross-table-merge" json:"enable-cross-table-merge,string"`
// PatrolRegionInterval is the interval for scanning region during patrol.
PatrolRegionInterval string `toml:"patrol-region-interval" json:"patrol-region-interval"`
// MaxStoreDownTime is the max duration after which
// a store will be considered to be down if it hasn't reported heartbeats.
MaxStoreDownTime string `toml:"max-store-down-time" json:"max-store-down-time"`
// LeaderScheduleLimit is the max coexist leader schedules.
LeaderScheduleLimit uint64 `toml:"leader-schedule-limit" json:"leader-schedule-limit"`
// LeaderSchedulePolicy is the option to balance leader, there are some policies supported: ["count", "size"], default: "count"
LeaderSchedulePolicy string `toml:"leader-schedule-policy" json:"leader-schedule-policy"`
// RegionScheduleLimit is the max coexist region schedules.
RegionScheduleLimit uint64 `toml:"region-schedule-limit" json:"region-schedule-limit"`
// ReplicaScheduleLimit is the max coexist replica schedules.
ReplicaScheduleLimit uint64 `toml:"replica-schedule-limit" json:"replica-schedule-limit"`
// MergeScheduleLimit is the max coexist merge schedules.
MergeScheduleLimit uint64 `toml:"merge-schedule-limit" json:"merge-schedule-limit"`
// HotRegionScheduleLimit is the max coexist hot region schedules.
HotRegionScheduleLimit uint64 `toml:"hot-region-schedule-limit" json:"hot-region-schedule-limit"`
// HotRegionCacheHitThreshold is the cache hits threshold of the hot region.
// If the number of times a region hits the hot cache is greater than this
// threshold, it is considered a hot region.
HotRegionCacheHitsThreshold uint64 `toml:"hot-region-cache-hits-threshold" json:"hot-region-cache-hits-threshold"`
// StoreBalanceRate is the maximum of balance rate for each store.
// WARN: StoreBalanceRate is deprecated.
StoreBalanceRate float64 `toml:"store-balance-rate" json:"store-balance-rate,omitempty"`
// StoreLimit is the limit of scheduling for stores.
StoreLimit map[uint64]StoreLimitConfig `toml:"store-limit" json:"store-limit"`
// TolerantSizeRatio is the ratio of buffer size for balance scheduler.
TolerantSizeRatio float64 `toml:"tolerant-size-ratio" json:"tolerant-size-ratio"`
//
// high space stage transition stage low space stage
// |--------------------|-----------------------------|-------------------------|
// ^ ^ ^ ^
// 0 HighSpaceRatio * capacity LowSpaceRatio * capacity capacity
//
// LowSpaceRatio is the lowest usage ratio of store which regraded as low space.
// When in low space, store region score increases to very large and varies inversely with available size.
LowSpaceRatio float64 `toml:"low-space-ratio" json:"low-space-ratio"`
// HighSpaceRatio is the highest usage ratio of store which regraded as high space.
// High space means there is a lot of spare capacity, and store region score varies directly with used size.
HighSpaceRatio float64 `toml:"high-space-ratio" json:"high-space-ratio"`
// RegionScoreFormulaVersion is used to control the formula used to calculate region score.
RegionScoreFormulaVersion string `toml:"region-score-formula-version" json:"region-score-formula-version"`
// SchedulerMaxWaitingOperator is the max coexist operators for each scheduler.
SchedulerMaxWaitingOperator uint64 `toml:"scheduler-max-waiting-operator" json:"scheduler-max-waiting-operator"`
// WARN: DisableLearner is deprecated.
// DisableLearner is the option to disable using AddLearnerNode instead of AddNode.
DisableLearner bool `toml:"disable-raft-learner" json:"disable-raft-learner,string,omitempty"`
// DisableRemoveDownReplica is the option to prevent replica checker from
// removing down replicas.
// WARN: DisableRemoveDownReplica is deprecated.
DisableRemoveDownReplica bool `toml:"disable-remove-down-replica" json:"disable-remove-down-replica,string,omitempty"`
// DisableReplaceOfflineReplica is the option to prevent replica checker from
// replacing offline replicas.
// WARN: DisableReplaceOfflineReplica is deprecated.
DisableReplaceOfflineReplica bool `toml:"disable-replace-offline-replica" json:"disable-replace-offline-replica,string,omitempty"`
// DisableMakeUpReplica is the option to prevent replica checker from making up
// replicas when replica count is less than expected.
// WARN: DisableMakeUpReplica is deprecated.
DisableMakeUpReplica bool `toml:"disable-make-up-replica" json:"disable-make-up-replica,string,omitempty"`
// DisableRemoveExtraReplica is the option to prevent replica checker from
// removing extra replicas.
// WARN: DisableRemoveExtraReplica is deprecated.
DisableRemoveExtraReplica bool `toml:"disable-remove-extra-replica" json:"disable-remove-extra-replica,string,omitempty"`
// DisableLocationReplacement is the option to prevent replica checker from
// moving replica to a better location.
// WARN: DisableLocationReplacement is deprecated.
DisableLocationReplacement bool `toml:"disable-location-replacement" json:"disable-location-replacement,string,omitempty"`
// EnableRemoveDownReplica is the option to enable replica checker to remove down replica.
EnableRemoveDownReplica bool `toml:"enable-remove-down-replica" json:"enable-remove-down-replica,string"`
// EnableReplaceOfflineReplica is the option to enable replica checker to replace offline replica.
EnableReplaceOfflineReplica bool `toml:"enable-replace-offline-replica" json:"enable-replace-offline-replica,string"`
// EnableMakeUpReplica is the option to enable replica checker to make up replica.
EnableMakeUpReplica bool `toml:"enable-make-up-replica" json:"enable-make-up-replica,string"`
// EnableRemoveExtraReplica is the option to enable replica checker to remove extra replica.
EnableRemoveExtraReplica bool `toml:"enable-remove-extra-replica" json:"enable-remove-extra-replica,string"`
// EnableLocationReplacement is the option to enable replica checker to move replica to a better location.
EnableLocationReplacement bool `toml:"enable-location-replacement" json:"enable-location-replacement,string"`
// EnableDebugMetrics is the option to enable debug metrics.
EnableDebugMetrics bool `toml:"enable-debug-metrics" json:"enable-debug-metrics,string"`
// EnableJointConsensus is the option to enable using joint consensus as a operator step.
EnableJointConsensus bool `toml:"enable-joint-consensus" json:"enable-joint-consensus,string"`
// Schedulers support for loading customized schedulers
Schedulers SchedulerConfigs `toml:"schedulers" json:"schedulers-v2"` // json v2 is for the sake of compatible upgrade
// Only used to display
SchedulersPayload map[string]interface{} `toml:"schedulers-payload" json:"schedulers-payload"`
// StoreLimitMode can be auto or manual, when set to auto,
// PD tries to change the store limit values according to
// the load state of the cluster dynamically. User can
// overwrite the auto-tuned value by pd-ctl, when the value
// is overwritten, the value is fixed until it is deleted.
// Default: manual
StoreLimitMode string `toml:"store-limit-mode" json:"store-limit-mode"`
}
ScheduleConfig is the schedule configuration.
type SchedulerConfig ¶
type SchedulerConfig struct {
Type string `toml:"type" json:"type"`
Args []string `toml:"args" json:"args"`
Disable bool `toml:"disable" json:"disable"`
ArgsPayload string `toml:"args-payload" json:"args-payload"`
}
SchedulerConfig is customized scheduler configuration
type SchedulerConfigs ¶
type SchedulerConfigs []SchedulerConfig
SchedulerConfigs is a slice of customized scheduler configuration.
type Security ¶
type Security struct {
SkipGrantTable bool `toml:"skip-grant-table" json:"skip-grant-table"`
SSLCA string `toml:"ssl-ca" json:"ssl-ca"`
SSLCert string `toml:"ssl-cert" json:"ssl-cert"`
SSLKey string `toml:"ssl-key" json:"ssl-key"`
RequireSecureTransport bool `toml:"require-secure-transport" json:"require-secure-transport"`
ClusterSSLCA string `toml:"cluster-ssl-ca" json:"cluster-ssl-ca"`
ClusterSSLCert string `toml:"cluster-ssl-cert" json:"cluster-ssl-cert"`
ClusterSSLKey string `toml:"cluster-ssl-key" json:"cluster-ssl-key"`
ClusterVerifyCN []string `toml:"cluster-verify-cn" json:"cluster-verify-cn"`
// If set to "plaintext", the spilled files will not be encrypted.
SpilledFileEncryptionMethod string `toml:"spilled-file-encryption-method" json:"spilled-file-encryption-method"`
// EnableSEM prevents SUPER users from having full access.
EnableSEM bool `toml:"enable-sem" json:"enable-sem"`
// Allow automatic TLS certificate generation
AutoTLS bool `toml:"auto-tls" json:"auto-tls"`
MinTLSVersion string `toml:"tls-version" json:"tls-version"`
RSAKeySize int `toml:"rsa-key-size" json:"rsa-key-size"`
SecureBootstrap bool `toml:"secure-bootstrap" json:"secure-bootstrap"`
}
Security is the security section of the config.
type ServerConfig ¶
type ServerConfig struct {
Addr string `toml:"addr" json:"addr"`
AdvertiseAddr string `toml:"advertise-addr" json:"advertise-addr"`
StatusAddr string `toml:"status-addr" json:"status-addr"`
AdvertiseStatusAddr string `toml:"advertise-status-addr" json:"advertise-status-addr"`
StatusThreadPoolSize int `toml:"status-thread-pool-size" json:"status-thread-pool-size"`
MaxGrpcSendMsgLen int `toml:"max-grpc-send-msg-len" json:"max-grpc-send-msg-len"`
RaftClientGrpcSendMsgBuffer int `toml:"raft-client-grpc-send-msg-buffer" json:"raft-client-grpc-send-msg-buffer"`
RaftClientQueueSize int `toml:"raft-client-queue-size" json:"raft-client-queue-size"`
RaftMsgMaxBatchSize int `toml:"raft-msg-max-batch-size" json:"raft-msg-max-batch-size"`
GrpcCompressionType string `toml:"grpc-compression-type" json:"grpc-compression-type"`
GrpcConcurrency int `toml:"grpc-concurrency" json:"grpc-concurrency"`
GrpcConcurrentStream int `toml:"grpc-concurrent-stream" json:"grpc-concurrent-stream"`
GrpcRaftConnNum int `toml:"grpc-raft-conn-num" json:"grpc-raft-conn-num"`
// GrpcMemoryPoolQuota uint64 `toml:"grpc-memory-pool-quota" json:"grpc-memory-pool-quota"`
GrpcStreamInitialWindowSize string `toml:"grpc-stream-initial-window-size" json:"grpc-stream-initial-window-size"`
GrpcKeepaliveTime string `toml:"grpc-keepalive-time" json:"grpc-keepalive-time"`
GrpcKeepaliveTimeout string `toml:"grpc-keepalive-timeout" json:"grpc-keepalive-timeout"`
ConcurrentSendSnapLimit int `toml:"concurrent-send-snap-limit" json:"concurrent-send-snap-limit"`
ConcurrentRecvSnapLimit int `toml:"concurrent-recv-snap-limit" json:"concurrent-recv-snap-limit"`
EndPointRecursionLimit int `toml:"end-point-recursion-limit" json:"end-point-recursion-limit"`
EndPointStreamChannelSize int `toml:"end-point-stream-channel-size" json:"end-point-stream-channel-size"`
EndPointBatchRowLimit int `toml:"end-point-batch-row-limit" json:"end-point-batch-row-limit"`
EndPointStreamBatchRowLimit int `toml:"end-point-stream-batch-row-limit" json:"end-point-stream-batch-row-limit"`
EndPointEnableBatchIfPossible bool `toml:"end-point-enable-batch-if-possible" json:"end-point-enable-batch-if-possible"`
EndPointRequestMaxHandleDuration string `toml:"end-point-request-max-handle-duration" json:"end-point-request-max-handle-duration"`
EndPointMaxConcurrency int `toml:"end-point-max-concurrency" json:"end-point-max-concurrency"`
SnapMaxWriteBytesPerSec string `toml:"snap-max-write-bytes-per-sec" json:"snap-max-write-bytes-per-sec"`
SnapMaxTotalSize string `toml:"snap-max-total-size" json:"snap-max-total-size"`
StatsConcurrency int `toml:"stats-concurrency" json:"stats-concurrency"`
HeavyLoadThreshold int `toml:"heavy-load-threshold" json:"heavy-load-threshold"`
HeavyLoadWaitDuration string `toml:"heavy-load-wait-duration" json:"heavy-load-wait-duration"`
EnableRequestBatch bool `toml:"enable-request-batch" json:"enable-request-batch"`
BackgroundThreadCount int `toml:"background-thread-count" json:"background-thread-count"`
EndPointSlowLogThreshold string `toml:"end-point-slow-log-threshold" json:"end-point-slow-log-threshold"`
ForwardMaxConnectionsPerAddress int `toml:"forward-max-connections-per-address" json:"forward-max-connections-per-address"`
RejectMessagesOnMemoryRatio float64 `toml:"reject-messages-on-memory-ratio" json:"reject-messages-on-memory-ratio"`
Labels struct{} `toml:"labels" json:"labels"`
}
type SourceDataV2 ¶
type SourceDataV2 struct {
ClusterInfo *collector.ClusterJSON
TidbVersion string
NodesData map[ComponentName][]Config // {"component": {config, config, config, nil}}
DashboardData *DashboardData
}
func (*SourceDataV2) AppendConfig ¶
func (sd *SourceDataV2) AppendConfig(cfg Config, component ComponentName)
type Status ¶
type Status struct {
StatusHost string `toml:"status-host" json:"status-host"`
MetricsAddr string `toml:"metrics-addr" json:"metrics-addr"`
StatusPort uint `toml:"status-port" json:"status-port"`
MetricsInterval uint `toml:"metrics-interval" json:"metrics-interval"`
ReportStatus bool `toml:"report-status" json:"report-status"`
RecordQPSbyDB bool `toml:"record-db-qps" json:"record-db-qps"`
}
Status is the status section of the config.
type StmtSummary ¶
type StmtSummary struct {
// Enable statement summary or not.
Enable bool `toml:"enable" json:"enable"`
// Enable summary internal query.
EnableInternalQuery bool `toml:"enable-internal-query" json:"enable-internal-query"`
// The maximum number of statements kept in memory.
MaxStmtCount uint `toml:"max-stmt-count" json:"max-stmt-count"`
// The maximum length of displayed normalized SQL and sample SQL.
MaxSQLLength uint `toml:"max-sql-length" json:"max-sql-length"`
// The refresh interval of statement summary.
RefreshInterval int `toml:"refresh-interval" json:"refresh-interval"`
// The maximum history size of statement summary.
HistorySize int `toml:"history-size" json:"history-size"`
}
StmtSummary is the config for statement summary.
type StorageConfig ¶
type StorageConfig struct {
DataDir string `toml:"data-dir" json:"data-dir"`
GcRatioThreshold float64 `toml:"gc-ratio-threshold" json:"gc-ratio-threshold"`
MaxKeySize int `toml:"max-key-size" json:"max-key-size"`
SchedulerConcurrency int `toml:"scheduler-concurrency" json:"scheduler-concurrency"`
SchedulerWorkerPoolSize int `toml:"scheduler-worker-pool-size" json:"scheduler-worker-pool-size"`
SchedulerPendingWriteThreshold string `toml:"scheduler-pending-write-threshold" json:"scheduler-pending-write-threshold"`
ReserveSpace string `toml:"reserve-space" json:"reserve-space"`
EnableAsyncApplyPrewrite bool `toml:"enable-async-apply-prewrite" json:"enable-async-apply-prewrite"`
EnableTTL bool `toml:"enable-ttl" json:"enable-ttl"`
TTLCheckPollInterval string `toml:"ttl-check-poll-interval" json:"ttl-check-poll-interval"`
FlowControl struct {
Enable bool `toml:"enable" json:"enable"`
SoftPendingCompactionBytesLimit string `toml:"soft-pending-compaction-bytes-limit" json:"soft-pending-compaction-bytes-limit"`
HardPendingCompactionBytesLimit string `toml:"hard-pending-compaction-bytes-limit" json:"hard-pending-compaction-bytes-limit"`
MemtablesThreshold int `toml:"memtables-threshold" json:"memtables-threshold"`
L0FilesThreshold int `toml:"l0-files-threshold" json:"l0-files-threshold"`
} `toml:"flow-control" json:"flow-control"`
BlockCache struct {
Shared bool `toml:"shared" json:"shared"`
Capacity string `toml:"capacity" json:"capacity"`
NumShardBits int `toml:"num-shard-bits" json:"num-shard-bits"`
StrictCapacityLimit bool `toml:"strict-capacity-limit" json:"strict-capacity-limit"`
HighPriPoolRatio float64 `toml:"high-pri-pool-ratio" json:"high-pri-pool-ratio"`
MemoryAllocator string `toml:"memory-allocator" json:"memory-allocator"`
} `toml:"block-cache" json:"block-cache"`
IoRateLimit struct {
MaxBytesPerSec string `toml:"max-bytes-per-sec" json:"max-bytes-per-sec"`
Mode string `toml:"mode" json:"mode"`
Strict bool `toml:"strict" json:"strict"`
ForegroundReadPriority string `toml:"foreground-read-priority" json:"foreground-read-priority"`
ForegroundWritePriority string `toml:"foreground-write-priority" json:"foreground-write-priority"`
FlushPriority string `toml:"flush-priority" json:"flush-priority"`
LevelZeroCompactionPriority string `toml:"level-zero-compaction-priority" json:"level-zero-compaction-priority"`
CompactionPriority string `toml:"compaction-priority" json:"compaction-priority"`
ReplicationPriority string `toml:"replication-priority" json:"replication-priority"`
LoadBalancePriority string `toml:"load-balance-priority" json:"load-balance-priority"`
GcPriority string `toml:"gc-priority" json:"gc-priority"`
ImportPriority string `toml:"import-priority" json:"import-priority"`
ExportPriority string `toml:"export-priority" json:"export-priority"`
OtherPriority string `toml:"other-priority" json:"other-priority"`
} `toml:"io-rate-limit" json:"io-rate-limit"`
}
type StoreLabel ¶
type StoreLabel struct {
Key string `toml:"key" json:"key"`
Value string `toml:"value" json:"value"`
}
StoreLabel is the config item of LabelPropertyConfig.
type StoreLimitConfig ¶
type StoreLimitConfig struct {
AddPeer float64 `toml:"add-peer" json:"add-peer"`
RemovePeer float64 `toml:"remove-peer" json:"remove-peer"`
}
StoreLimitConfig is a config about scheduling rate limit of different types for a store.
type TiKVClient ¶
type TiKVClient struct {
// GrpcConnectionCount is the max gRPC connections that will be established
// with each tikv-server.
GrpcConnectionCount uint `toml:"grpc-connection-count" json:"grpc-connection-count"`
// After a duration of this time in seconds if the client doesn't see any activity it pings
// the server to see if the transport is still alive.
GrpcKeepAliveTime uint `toml:"grpc-keepalive-time" json:"grpc-keepalive-time"`
// After having pinged for keepalive check, the client waits for a duration of Timeout in seconds
// and if no activity is seen even after that the connection is closed.
GrpcKeepAliveTimeout uint `toml:"grpc-keepalive-timeout" json:"grpc-keepalive-timeout"`
// GrpcCompressionType is the compression type for gRPC channel: none or gzip.
GrpcCompressionType string `toml:"grpc-compression-type" json:"grpc-compression-type"`
// CommitTimeout is the max time which command 'commit' will wait.
CommitTimeout string `toml:"commit-timeout" json:"commit-timeout"`
AsyncCommit AsyncCommit `toml:"async-commit" json:"async-commit"`
// MaxBatchSize is the max batch size when calling batch commands API.
MaxBatchSize uint `toml:"max-batch-size" json:"max-batch-size"`
// If TiKV load is greater than this, TiDB will wait for a while to avoid little batch.
OverloadThreshold uint `toml:"overload-threshold" json:"overload-threshold"`
// MaxBatchWaitTime in nanosecond is the max wait time for batch.
MaxBatchWaitTime time.Duration `toml:"max-batch-wait-time" json:"max-batch-wait-time"`
// BatchWaitSize is the max wait size for batch.
BatchWaitSize uint `toml:"batch-wait-size" json:"batch-wait-size"`
// EnableChunkRPC indicate the data encode in chunk format for coprocessor requests.
EnableChunkRPC bool `toml:"enable-chunk-rpc" json:"enable-chunk-rpc"`
// If a Region has not been accessed for more than the given duration (in seconds), it
// will be reloaded from the PD.
RegionCacheTTL uint `toml:"region-cache-ttl" json:"region-cache-ttl"`
// If a store has been up to the limit, it will return error for successive request to
// prevent the store occupying too much token in dispatching level.
StoreLimit int64 `toml:"store-limit" json:"store-limit"`
// StoreLivenessTimeout is the timeout for store liveness check request.
StoreLivenessTimeout string `toml:"store-liveness-timeout" json:"store-liveness-timeout"`
CoprCache CoprocessorCache `toml:"copr-cache" json:"copr-cache"`
// TTLRefreshedTxnSize controls whether a transaction should update its TTL or not.
TTLRefreshedTxnSize int64 `toml:"ttl-refreshed-txn-size" json:"ttl-refreshed-txn-size"`
ResolveLockLiteThreshold uint64 `toml:"resolve-lock-lite-threshold" json:"resolve-lock-lite-threshold"`
}
TiKVClient is the config for tikv client.
type TidbConfig ¶
type TidbConfig struct {
Host string `toml:"host" json:"host"`
AdvertiseAddress string `toml:"advertise-address" json:"advertise-address"`
Port uint `toml:"port" json:"port"`
Cors string `toml:"cors" json:"cors"`
Store string `toml:"store" json:"store"`
Path string `toml:"path" json:"path"`
Socket string `toml:"socket" json:"socket"`
Lease string `toml:"lease" json:"lease"`
RunDDL bool `toml:"run-ddl" json:"run-ddl"`
SplitTable bool `toml:"split-table" json:"split-table"`
TokenLimit uint `toml:"token-limit" json:"token-limit"`
OOMUseTmpStorage bool `toml:"oom-use-tmp-storage" json:"oom-use-tmp-storage"`
TempStoragePath string `toml:"tmp-storage-path" json:"tmp-storage-path"`
OOMAction string `toml:"oom-action" json:"oom-action"`
MemQuotaQuery int64 `toml:"mem-quota-query" json:"mem-quota-query"`
NestedLoopJoinCacheCapacity int64 `toml:"nested-loop-join-cache-capacity" json:"nested-loop-join-cache-capacity"`
TempStorageQuota int64 `toml:"tmp-storage-quota" json:"tmp-storage-quota"` // Bytes
EnableStreaming bool `toml:"enable-streaming" json:"enable-streaming"`
EnableBatchDML bool `toml:"enable-batch-dml" json:"enable-batch-dml"`
LowerCaseTableNames int `toml:"lower-case-table-names" json:"lower-case-table-names"`
ServerVersion string `toml:"server-version" json:"server-version"`
Log Log `toml:"log" json:"log"`
Security Security `toml:"security" json:"security"`
Status Status `toml:"status" json:"status"`
Performance Performance `toml:"performance" json:"performance"`
PreparedPlanCache struct {
Enabled bool `toml:"enabled" json:"enabled"`
Capacity int `toml:"capacity" json:"capacity"`
MemoryGuardRatio float64 `toml:"memory-guard-ratio" json:"memory-guard-ratio"`
} `toml:"prepared-plan-cache" json:"prepared-plan-cache"`
Opentracing OpenTracing `toml:"opentracing" json:"opentracing"`
ProxyProtocol struct {
Networks string `toml:"networks" json:"networks"`
HeaderTimeout int `toml:"header-timeout" json:"header-timeout"`
} `toml:"proxy-protocol" json:"proxy-protocol"`
PdClient struct {
PdServerTimeout int `toml:"pd-server-timeout" json:"pd-server-timeout"`
} `toml:"pd-client" json:"pd-client"`
TikvClient TiKVClient `toml:"tikv-client" json:"tikv-client"`
Binlog Binlog `toml:"binlog" json:"binlog"`
CompatibleKillQuery bool `json:"compatible-kill-query"`
Plugin struct {
Dir string `toml:"dir" json:"dir"`
Load string `toml:"load" json:"load"`
} `toml:"plugin" json:"plugin"`
PessimisticTxn struct {
// The max count of retry for a single statement in a pessimistic transaction.
MaxRetryCount uint `toml:"max-retry-count" json:"max-retry-count"`
// The max count of deadlock events that will be recorded in the information_schema.deadlocks table.
DeadlockHistoryCapacity uint `toml:"deadlock-history-capacity" json:"deadlock-history-capacity"`
// Whether retryable deadlocks (in-statement deadlocks) are collected to the information_schema.deadlocks table.
DeadlockHistoryCollectRetryable bool `toml:"deadlock-history-collect-retryable" json:"deadlock-history-collect-retryable"`
} `toml:"pessimistic-txn" json:"pessimistic-txn"`
CheckMb4ValueInUtf8 bool `toml:"check-mb4-value-in-utf8" json:"check-mb4-value-in-utf8"`
MaxIndexLength int `toml:"max-index-length" json:"max-index-length"`
IndexLimit int `toml:"index-limit" json:"index-limit"`
TableColumnCountLimit int `toml:"table-column-count-limit" json:"table-column-count-limit"`
GracefulWaitBeforeShutdown int `toml:"graceful-wait-before-shutdown" json:"graceful-wait-before-shutdown"`
AlterPrimaryKey bool `toml:"alter-primary-key" json:"alter-primary-key"`
TreatOldVersionUtf8AsUtf8Mb4 bool `json:"treat-old-version-utf8-as-utf8mb4"`
EnableTableLock bool `toml:"enable-table-lock" json:"enable-table-lock"`
DelayCleanTableLock int `toml:"delay-clean-table-lock" json:"delay-clean-table-lock"`
SplitRegionMaxNum int `toml:"split-region-max-num" json:"split-region-max-num"`
StmtSummary StmtSummary `toml:"stmt-summary" json:"stmt-summary"`
RepairMode bool `toml:"repair-mode" json:"repair-mode"`
RepairTableList []string `toml:"repair-table-list" json:"repair-table-list"`
IsolationRead struct {
Engines []string `toml:"engines" json:"engines"`
} `toml:"isolation-read" json:"isolation-read"`
MaxServerConnections int `toml:"max-server-connections" json:"max-server-connections"`
NewCollationsEnabledOnFirstBootstrap bool `toml:"new_collations_enabled_on_first_bootstrap" json:"new_collations_enabled_on_first_bootstrap"`
Experimental struct {
AllowExpressionIndex bool `toml:"allow-expression-index" json:"allow-expression-index"`
} `toml:"experimental" json:"experimental"`
EnableCollectExecutionInfo bool `toml:"enable-collect-execution-info" json:"enable-collect-execution-info"`
SkipRegisterToDashboard bool `toml:"skip-register-to-dashboard" json:"skip-register-to-dashboard"`
EnableTelemetry bool `toml:"enable-telemetry" json:"enable-telemetry"`
Labels struct {
} `toml:"labels" json:"labels"`
EnableGlobalIndex bool `toml:"enable-global-index" json:"enable-global-index"`
DeprecateIntegerDisplayLength bool `toml:"deprecate-integer-display-length" json:"deprecate-integer-display-length"`
EnableEnumLengthLimit bool `toml:"enable-enum-length-limit" json:"enable-enum-length-limit"`
StoresRefreshInterval int `toml:"stores-refresh-interval" json:"stores-refresh-interval"`
EnableTCP4Only bool `toml:"enable-tcp4-only" json:"enable-tcp4-only"`
EnableForwarding bool `toml:"enable-forwarding" json:"enable-forwarding"`
}
type TidbConfigData ¶
type TidbConfigData struct {
*TidbConfig // embedded field
Port int // TODO move to meta
Host string
}
func NewTidbConfigData ¶
func NewTidbConfigData() *TidbConfigData
func (*TidbConfigData) ActingName ¶
func (cfg *TidbConfigData) ActingName() string
func (*TidbConfigData) CheckNil ¶
func (cfg *TidbConfigData) CheckNil() bool
func (*TidbConfigData) GetComponent ¶
func (cfg *TidbConfigData) GetComponent() string
func (*TidbConfigData) GetHost ¶
func (cfg *TidbConfigData) GetHost() string
func (*TidbConfigData) GetPort ¶
func (cfg *TidbConfigData) GetPort() int
func (*TidbConfigData) GetValueByTagPath ¶
func (cfg *TidbConfigData) GetValueByTagPath(tagPath string) reflect.Value
type TiflashConfig ¶
type TiflashConfig struct {
LogLevel string `toml:"log-level" json:"log-level"`
LogFile string `toml:"log-file" json:"log-file"`
LogFormat string `toml:"log-format" json:"log-format"`
SlowLogFile string `toml:"slow-log-file" json:"slow-log-file"`
SlowLogThreshold string `toml:"slow-log-threshold" json:"slow-log-threshold"`
LogRotationTimespan string `toml:"log-rotation-timespan" json:"log-rotation-timespan"`
LogRotationSize string `toml:"log-rotation-size" json:"log-rotation-size"`
EnableIoSnoop bool `toml:"enable-io-snoop" json:"enable-io-snoop"`
AbortOnPanic bool `toml:"abort-on-panic" json:"abort-on-panic"`
MemoryUsageLimit string `toml:"memory-usage-limit" json:"memory-usage-limit"`
MemoryUsageHighWater float64 `toml:"memory-usage-high-water" json:"memory-usage-high-water"`
Readpool struct {
Unified struct {
MinThreadCount int `toml:"min-thread-count" json:"min-thread-count"`
MaxThreadCount int `toml:"max-thread-count" json:"max-thread-count"`
StackSize string `toml:"stack-size" json:"stack-size"`
MaxTasksPerWorker int `toml:"max-tasks-per-worker" json:"max-tasks-per-worker"`
} `toml:"unified" json:"unified"`
Storage struct {
UseUnifiedPool bool `toml:"use-unified-pool" json:"use-unified-pool"`
HighConcurrency int `toml:"high-concurrency" json:"high-concurrency"`
NormalConcurrency int `toml:"normal-concurrency" json:"normal-concurrency"`
LowConcurrency int `toml:"low-concurrency" json:"low-concurrency"`
MaxTasksPerWorkerHigh int `toml:"max-tasks-per-worker-high" json:"max-tasks-per-worker-high"`
MaxTasksPerWorkerNormal int `toml:"max-tasks-per-worker-normal" json:"max-tasks-per-worker-normal"`
MaxTasksPerWorkerLow int `toml:"max-tasks-per-worker-low" json:"max-tasks-per-worker-low"`
StackSize string `toml:"stack-size" json:"stack-size"`
} `toml:"storage" json:"storage"`
Coprocessor struct {
UseUnifiedPool bool `toml:"use-unified-pool" json:"use-unified-pool"`
HighConcurrency int `toml:"high-concurrency" json:"high-concurrency"`
NormalConcurrency int `toml:"normal-concurrency" json:"normal-concurrency"`
LowConcurrency int `toml:"low-concurrency" json:"low-concurrency"`
MaxTasksPerWorkerHigh int `toml:"max-tasks-per-worker-high" json:"max-tasks-per-worker-high"`
MaxTasksPerWorkerNormal int `toml:"max-tasks-per-worker-normal" json:"max-tasks-per-worker-normal"`
MaxTasksPerWorkerLow int `toml:"max-tasks-per-worker-low" json:"max-tasks-per-worker-low"`
StackSize string `toml:"stack-size" json:"stack-size"`
} `toml:"coprocessor" json:"coprocessor"`
} `toml:"readpool" json:"readpool"`
Server struct {
Addr string `toml:"addr" json:"addr"`
AdvertiseAddr string `toml:"advertise-addr" json:"advertise-addr"`
EngineAddr string `toml:"engine-addr" json:"engine-addr"`
EngineStoreVersion string `toml:"engine-store-version" json:"engine-store-version"`
EngineStoreGitHash string `toml:"engine-store-git-hash" json:"engine-store-git-hash"`
StatusAddr string `toml:"status-addr" json:"status-addr"`
AdvertiseStatusAddr string `toml:"advertise-status-addr" json:"advertise-status-addr"`
StatusThreadPoolSize int `toml:"status-thread-pool-size" json:"status-thread-pool-size"`
MaxGrpcSendMsgLen int `toml:"max-grpc-send-msg-len" json:"max-grpc-send-msg-len"`
RaftClientGrpcSendMsgBuffer int `toml:"raft-client-grpc-send-msg-buffer" json:"raft-client-grpc-send-msg-buffer"`
RaftClientQueueSize int `toml:"raft-client-queue-size" json:"raft-client-queue-size"`
RaftMsgMaxBatchSize int `toml:"raft-msg-max-batch-size" json:"raft-msg-max-batch-size"`
GrpcCompressionType string `toml:"grpc-compression-type" json:"grpc-compression-type"`
GrpcConcurrency int `toml:"grpc-concurrency" json:"grpc-concurrency"`
GrpcConcurrentStream int `toml:"grpc-concurrent-stream" json:"grpc-concurrent-stream"`
GrpcRaftConnNum int `toml:"grpc-raft-conn-num" json:"grpc-raft-conn-num"`
// GrpcMemoryPoolQuota int64 `toml:"grpc-memory-pool-quota" json:"grpc-memory-pool-quota"`
GrpcStreamInitialWindowSize string `toml:"grpc-stream-initial-window-size" json:"grpc-stream-initial-window-size"`
GrpcKeepaliveTime string `toml:"grpc-keepalive-time" json:"grpc-keepalive-time"`
GrpcKeepaliveTimeout string `toml:"grpc-keepalive-timeout" json:"grpc-keepalive-timeout"`
ConcurrentSendSnapLimit int `toml:"concurrent-send-snap-limit" json:"concurrent-send-snap-limit"`
ConcurrentRecvSnapLimit int `toml:"concurrent-recv-snap-limit" json:"concurrent-recv-snap-limit"`
EndPointRecursionLimit int `toml:"end-point-recursion-limit" json:"end-point-recursion-limit"`
EndPointStreamChannelSize int `toml:"end-point-stream-channel-size" json:"end-point-stream-channel-size"`
EndPointBatchRowLimit int `toml:"end-point-batch-row-limit" json:"end-point-batch-row-limit"`
EndPointStreamBatchRowLimit int `toml:"end-point-stream-batch-row-limit" json:"end-point-stream-batch-row-limit"`
EndPointEnableBatchIfPossible bool `toml:"end-point-enable-batch-if-possible" json:"end-point-enable-batch-if-possible"`
EndPointRequestMaxHandleDuration string `toml:"end-point-request-max-handle-duration" json:"end-point-request-max-handle-duration"`
EndPointMaxConcurrency int `toml:"end-point-max-concurrency" json:"end-point-max-concurrency"`
SnapMaxWriteBytesPerSec string `toml:"snap-max-write-bytes-per-sec" json:"snap-max-write-bytes-per-sec"`
SnapMaxTotalSize string `toml:"snap-max-total-size" json:"snap-max-total-size"`
StatsConcurrency int `toml:"stats-concurrency" json:"stats-concurrency"`
HeavyLoadThreshold int `toml:"heavy-load-threshold" json:"heavy-load-threshold"`
HeavyLoadWaitDuration string `toml:"heavy-load-wait-duration" json:"heavy-load-wait-duration"`
EnableRequestBatch bool `toml:"enable-request-batch" json:"enable-request-batch"`
BackgroundThreadCount int `toml:"background-thread-count" json:"background-thread-count"`
EndPointSlowLogThreshold string `toml:"end-point-slow-log-threshold" json:"end-point-slow-log-threshold"`
ForwardMaxConnectionsPerAddress int `toml:"forward-max-connections-per-address" json:"forward-max-connections-per-address"`
Labels struct {
Host string `toml:"host" json:"host"`
Zone string `toml:"zone" json:"zone"`
Engine string `toml:"engine" json:"engine"`
} `toml:"labels" json:"labels"`
} `toml:"server" json:"server"`
Storage struct {
DataDir string `toml:"data-dir" json:"data-dir"`
GcRatioThreshold float64 `toml:"gc-ratio-threshold" json:"gc-ratio-threshold"`
MaxKeySize int `toml:"max-key-size" json:"max-key-size"`
SchedulerConcurrency int `toml:"scheduler-concurrency" json:"scheduler-concurrency"`
SchedulerWorkerPoolSize int `toml:"scheduler-worker-pool-size" json:"scheduler-worker-pool-size"`
SchedulerPendingWriteThreshold string `toml:"scheduler-pending-write-threshold" json:"scheduler-pending-write-threshold"`
ReserveSpace string `toml:"reserve-space" json:"reserve-space"`
EnableAsyncApplyPrewrite bool `toml:"enable-async-apply-prewrite" json:"enable-async-apply-prewrite"`
EnableTTL bool `toml:"enable-ttl" json:"enable-ttl"`
TTLCheckPollInterval string `toml:"ttl-check-poll-interval" json:"ttl-check-poll-interval"`
BlockCache struct {
Shared bool `toml:"shared" json:"shared"`
Capacity string `toml:"capacity" json:"capacity"`
NumShardBits int `toml:"num-shard-bits" json:"num-shard-bits"`
StrictCapacityLimit bool `toml:"strict-capacity-limit" json:"strict-capacity-limit"`
HighPriPoolRatio float64 `toml:"high-pri-pool-ratio" json:"high-pri-pool-ratio"`
MemoryAllocator string `toml:"memory-allocator" json:"memory-allocator"`
} `toml:"block-cache" json:"block-cache"`
IoRateLimit struct {
MaxBytesPerSec string `toml:"max-bytes-per-sec" json:"max-bytes-per-sec"`
Mode string `toml:"mode" json:"mode"`
Strict bool `toml:"strict" json:"strict"`
ForegroundReadPriority string `toml:"foreground-read-priority" json:"foreground-read-priority"`
ForegroundWritePriority string `toml:"foreground-write-priority" json:"foreground-write-priority"`
FlushPriority string `toml:"flush-priority" json:"flush-priority"`
LevelZeroCompactionPriority string `toml:"level-zero-compaction-priority" json:"level-zero-compaction-priority"`
CompactionPriority string `toml:"compaction-priority" json:"compaction-priority"`
ReplicationPriority string `toml:"replication-priority" json:"replication-priority"`
LoadBalancePriority string `toml:"load-balance-priority" json:"load-balance-priority"`
GcPriority string `toml:"gc-priority" json:"gc-priority"`
ImportPriority string `toml:"import-priority" json:"import-priority"`
ExportPriority string `toml:"export-priority" json:"export-priority"`
OtherPriority string `toml:"other-priority" json:"other-priority"`
} `toml:"io-rate-limit" json:"io-rate-limit"`
} `toml:"storage" json:"storage"`
Pd struct {
Endpoints []string `toml:"endpoints" json:"endpoints"`
RetryInterval string `toml:"retry-interval" json:"retry-interval"`
RetryMaxCount int64 `toml:"retry-max-count" json:"retry-max-count"`
RetryLogEvery int `toml:"retry-log-every" json:"retry-log-every"`
UpdateInterval string `toml:"update-interval" json:"update-interval"`
EnableForwarding bool `toml:"enable-forwarding" json:"enable-forwarding"`
} `toml:"pd" json:"pd"`
Raftstore struct {
Prevote bool `toml:"prevote" json:"prevote"`
RaftdbPath string `toml:"raftdb-path" json:"raftdb-path"`
Capacity string `toml:"capacity" json:"capacity"`
RaftEntryMaxSize string `toml:"raft-entry-max-size" json:"raft-entry-max-size"`
RaftLogGcTickInterval string `toml:"raft-log-gc-tick-interval" json:"raft-log-gc-tick-interval"`
RaftLogGcThreshold int `toml:"raft-log-gc-threshold" json:"raft-log-gc-threshold"`
RaftLogGcCountLimit int `toml:"raft-log-gc-count-limit" json:"raft-log-gc-count-limit"`
RaftLogGcSizeLimit string `toml:"raft-log-gc-size-limit" json:"raft-log-gc-size-limit"`
RaftEnginePurgeInterval string `toml:"raft-engine-purge-interval" json:"raft-engine-purge-interval"`
RaftEntryCacheLifeTime string `toml:"raft-entry-cache-life-time" json:"raft-entry-cache-life-time"`
RaftRejectTransferLeaderDuration string `toml:"raft-reject-transfer-leader-duration" json:"raft-reject-transfer-leader-duration"`
SplitRegionCheckTickInterval string `toml:"split-region-check-tick-interval" json:"split-region-check-tick-interval"`
RegionSplitCheckDiff string `toml:"region-split-check-diff" json:"region-split-check-diff"`
RegionCompactCheckInterval string `toml:"region-compact-check-interval" json:"region-compact-check-interval"`
RegionCompactCheckStep int `toml:"region-compact-check-step" json:"region-compact-check-step"`
RegionCompactMinTombstones int `toml:"region-compact-min-tombstones" json:"region-compact-min-tombstones"`
RegionCompactTombstonesPercent int `toml:"region-compact-tombstones-percent" json:"region-compact-tombstones-percent"`
PdHeartbeatTickInterval string `toml:"pd-heartbeat-tick-interval" json:"pd-heartbeat-tick-interval"`
PdStoreHeartbeatTickInterval string `toml:"pd-store-heartbeat-tick-interval" json:"pd-store-heartbeat-tick-interval"`
SnapMgrGcTickInterval string `toml:"snap-mgr-gc-tick-interval" json:"snap-mgr-gc-tick-interval"`
SnapGcTimeout string `toml:"snap-gc-timeout" json:"snap-gc-timeout"`
LockCfCompactInterval string `toml:"lock-cf-compact-interval" json:"lock-cf-compact-interval"`
LockCfCompactBytesThreshold string `toml:"lock-cf-compact-bytes-threshold" json:"lock-cf-compact-bytes-threshold"`
NotifyCapacity int `toml:"notify-capacity" json:"notify-capacity"`
MessagesPerTick int `toml:"messages-per-tick" json:"messages-per-tick"`
MaxPeerDownDuration string `toml:"max-peer-down-duration" json:"max-peer-down-duration"`
MaxLeaderMissingDuration string `toml:"max-leader-missing-duration" json:"max-leader-missing-duration"`
AbnormalLeaderMissingDuration string `toml:"abnormal-leader-missing-duration" json:"abnormal-leader-missing-duration"`
PeerStaleStateCheckInterval string `toml:"peer-stale-state-check-interval" json:"peer-stale-state-check-interval"`
SnapApplyBatchSize string `toml:"snap-apply-batch-size" json:"snap-apply-batch-size"`
SnapHandlePoolSize int `toml:"snap-handle-pool-size" json:"snap-handle-pool-size"`
RegionWorkerTickInterval string `toml:"region-worker-tick-interval" json:"region-worker-tick-interval"`
ConsistencyCheckInterval string `toml:"consistency-check-interval" json:"consistency-check-interval"`
RaftStoreMaxLeaderLease string `toml:"raft-store-max-leader-lease" json:"raft-store-max-leader-lease"`
AllowRemoveLeader bool `toml:"allow-remove-leader" json:"allow-remove-leader"`
MergeCheckTickInterval string `toml:"merge-check-tick-interval" json:"merge-check-tick-interval"`
CleanupImportSstInterval string `toml:"cleanup-import-sst-interval" json:"cleanup-import-sst-interval"`
LocalReadBatchSize int `toml:"local-read-batch-size" json:"local-read-batch-size"`
ApplyMaxBatchSize int `toml:"apply-max-batch-size" json:"apply-max-batch-size"`
ApplyPoolSize int `toml:"apply-pool-size" json:"apply-pool-size"`
ApplyRescheduleDuration string `toml:"apply-reschedule-duration" json:"apply-reschedule-duration"`
ApplyLowPriorityPoolSize int `toml:"apply-low-priority-pool-size" json:"apply-low-priority-pool-size"`
StoreMaxBatchSize int `toml:"store-max-batch-size" json:"store-max-batch-size"`
StorePoolSize int `toml:"store-pool-size" json:"store-pool-size"`
StoreRescheduleDuration string `toml:"store-reschedule-duration" json:"store-reschedule-duration"`
StoreLowPriorityPoolSize int `toml:"store-low-priority-pool-size" json:"store-low-priority-pool-size"`
FuturePollSize int `toml:"future-poll-size" json:"future-poll-size"`
HibernateRegions bool `toml:"hibernate-regions" json:"hibernate-regions"`
PerfLevel int `toml:"perf-level" json:"perf-level"`
StoreBatchRetryRecvTimeout string `toml:"store-batch-retry-recv-timeout" json:"store-batch-retry-recv-timeout"`
} `toml:"raftstore" json:"raftstore"`
Coprocessor struct {
SplitRegionOnTable bool `toml:"split-region-on-table" json:"split-region-on-table"`
BatchSplitLimit int `toml:"batch-split-limit" json:"batch-split-limit"`
RegionMaxSize string `toml:"region-max-size" json:"region-max-size"`
RegionSplitSize string `toml:"region-split-size" json:"region-split-size"`
RegionMaxKeys int `toml:"region-max-keys" json:"region-max-keys"`
RegionSplitKeys int `toml:"region-split-keys" json:"region-split-keys"`
ConsistencyCheckMethod string `toml:"consistency-check-method" json:"consistency-check-method"`
PerfLevel int `toml:"perf-level" json:"perf-level"`
} `toml:"coprocessor" json:"coprocessor"`
CoprocessorV2 struct {
CoprocessorPluginDirectory interface{} `toml:"coprocessor-plugin-directory" json:"coprocessor-plugin-directory"`
} `toml:"coprocessor-v2" json:"coprocessor-v2"`
Rocksdb struct {
InfoLogLevel string `toml:"info-log-level" json:"info-log-level"`
WalRecoveryMode int `toml:"wal-recovery-mode" json:"wal-recovery-mode"`
WalDir string `toml:"wal-dir" json:"wal-dir"`
WalTTLSeconds int `toml:"wal-ttl-seconds" json:"wal-ttl-seconds"`
WalSizeLimit string `toml:"wal-size-limit" json:"wal-size-limit"`
MaxTotalWalSize string `toml:"max-total-wal-size" json:"max-total-wal-size"`
MaxBackgroundJobs int `toml:"max-background-jobs" json:"max-background-jobs"`
MaxBackgroundFlushes int `toml:"max-background-flushes" json:"max-background-flushes"`
MaxManifestFileSize string `toml:"max-manifest-file-size" json:"max-manifest-file-size"`
CreateIfMissing bool `toml:"create-if-missing" json:"create-if-missing"`
MaxOpenFiles int `toml:"max-open-files" json:"max-open-files"`
EnableStatistics bool `toml:"enable-statistics" json:"enable-statistics"`
StatsDumpPeriod string `toml:"stats-dump-period" json:"stats-dump-period"`
CompactionReadaheadSize string `toml:"compaction-readahead-size" json:"compaction-readahead-size"`
InfoLogMaxSize string `toml:"info-log-max-size" json:"info-log-max-size"`
InfoLogRollTime string `toml:"info-log-roll-time" json:"info-log-roll-time"`
InfoLogKeepLogFileNum int `toml:"info-log-keep-log-file-num" json:"info-log-keep-log-file-num"`
InfoLogDir string `toml:"info-log-dir" json:"info-log-dir"`
RateBytesPerSec string `toml:"rate-bytes-per-sec" json:"rate-bytes-per-sec"`
RateLimiterRefillPeriod string `toml:"rate-limiter-refill-period" json:"rate-limiter-refill-period"`
RateLimiterMode int `toml:"rate-limiter-mode" json:"rate-limiter-mode"`
RateLimiterAutoTuned bool `toml:"rate-limiter-auto-tuned" json:"rate-limiter-auto-tuned"`
BytesPerSync string `toml:"bytes-per-sync" json:"bytes-per-sync"`
WalBytesPerSync string `toml:"wal-bytes-per-sync" json:"wal-bytes-per-sync"`
MaxSubCompactions int `toml:"max-sub-compactions" json:"max-sub-compactions"`
WritableFileMaxBufferSize string `toml:"writable-file-max-buffer-size" json:"writable-file-max-buffer-size"`
UseDirectIoForFlushAndCompaction bool `toml:"use-direct-io-for-flush-and-compaction" json:"use-direct-io-for-flush-and-compaction"`
EnablePipelinedWrite bool `toml:"enable-pipelined-write" json:"enable-pipelined-write"`
EnableMultiBatchWrite bool `toml:"enable-multi-batch-write" json:"enable-multi-batch-write"`
EnableUnorderedWrite bool `toml:"enable-unordered-write" json:"enable-unordered-write"`
Defaultcf struct {
BlockSize string `toml:"block-size" json:"block-size"`
BlockCacheSize string `toml:"block-cache-size" json:"block-cache-size"`
DisableBlockCache bool `toml:"disable-block-cache" json:"disable-block-cache"`
CacheIndexAndFilterBlocks bool `toml:"cache-index-and-filter-blocks" json:"cache-index-and-filter-blocks"`
PinL0FilterAndIndexBlocks bool `toml:"pin-l0-filter-and-index-blocks" json:"pin-l0-filter-and-index-blocks"`
UseBloomFilter bool `toml:"use-bloom-filter" json:"use-bloom-filter"`
OptimizeFiltersForHits bool `toml:"optimize-filters-for-hits" json:"optimize-filters-for-hits"`
WholeKeyFiltering bool `toml:"whole-key-filtering" json:"whole-key-filtering"`
BloomFilterBitsPerKey int `toml:"bloom-filter-bits-per-key" json:"bloom-filter-bits-per-key"`
BlockBasedBloomFilter bool `toml:"block-based-bloom-filter" json:"block-based-bloom-filter"`
ReadAmpBytesPerBit int `toml:"read-amp-bytes-per-bit" json:"read-amp-bytes-per-bit"`
CompressionPerLevel []string `toml:"compression-per-level" json:"compression-per-level"`
WriteBufferSize string `toml:"write-buffer-size" json:"write-buffer-size"`
MaxWriteBufferNumber int `toml:"max-write-buffer-number" json:"max-write-buffer-number"`
MinWriteBufferNumberToMerge int `toml:"min-write-buffer-number-to-merge" json:"min-write-buffer-number-to-merge"`
MaxBytesForLevelBase string `toml:"max-bytes-for-level-base" json:"max-bytes-for-level-base"`
TargetFileSizeBase string `toml:"target-file-size-base" json:"target-file-size-base"`
Level0FileNumCompactionTrigger int `toml:"level0-file-num-compaction-trigger" json:"level0-file-num-compaction-trigger"`
Level0SlowdownWritesTrigger int `toml:"level0-slowdown-writes-trigger" json:"level0-slowdown-writes-trigger"`
Level0StopWritesTrigger int `toml:"level0-stop-writes-trigger" json:"level0-stop-writes-trigger"`
MaxCompactionBytes string `toml:"max-compaction-bytes" json:"max-compaction-bytes"`
CompactionPri int `toml:"compaction-pri" json:"compaction-pri"`
DynamicLevelBytes bool `toml:"dynamic-level-bytes" json:"dynamic-level-bytes"`
NumLevels int `toml:"num-levels" json:"num-levels"`
MaxBytesForLevelMultiplier int `toml:"max-bytes-for-level-multiplier" json:"max-bytes-for-level-multiplier"`
CompactionStyle int `toml:"compaction-style" json:"compaction-style"`
DisableAutoCompactions bool `toml:"disable-auto-compactions" json:"disable-auto-compactions"`
SoftPendingCompactionBytesLimit string `toml:"soft-pending-compaction-bytes-limit" json:"soft-pending-compaction-bytes-limit"`
HardPendingCompactionBytesLimit string `toml:"hard-pending-compaction-bytes-limit" json:"hard-pending-compaction-bytes-limit"`
ForceConsistencyChecks bool `toml:"force-consistency-checks" json:"force-consistency-checks"`
PropSizeIndexDistance int `toml:"prop-size-index-distance" json:"prop-size-index-distance"`
PropKeysIndexDistance int `toml:"prop-keys-index-distance" json:"prop-keys-index-distance"`
EnableDoublySkiplist bool `toml:"enable-doubly-skiplist" json:"enable-doubly-skiplist"`
EnableCompactionGuard bool `toml:"enable-compaction-guard" json:"enable-compaction-guard"`
CompactionGuardMinOutputFileSize string `toml:"compaction-guard-min-output-file-size" json:"compaction-guard-min-output-file-size"`
CompactionGuardMaxOutputFileSize string `toml:"compaction-guard-max-output-file-size" json:"compaction-guard-max-output-file-size"`
BottommostLevelCompression string `toml:"bottommost-level-compression" json:"bottommost-level-compression"`
BottommostZstdCompressionDictSize int `toml:"bottommost-zstd-compression-dict-size" json:"bottommost-zstd-compression-dict-size"`
BottommostZstdCompressionSampleSize int `toml:"bottommost-zstd-compression-sample-size" json:"bottommost-zstd-compression-sample-size"`
Titan struct {
MinBlobSize string `toml:"min-blob-size" json:"min-blob-size"`
BlobFileCompression string `toml:"blob-file-compression" json:"blob-file-compression"`
BlobCacheSize string `toml:"blob-cache-size" json:"blob-cache-size"`
MinGcBatchSize string `toml:"min-gc-batch-size" json:"min-gc-batch-size"`
MaxGcBatchSize string `toml:"max-gc-batch-size" json:"max-gc-batch-size"`
DiscardableRatio float64 `toml:"discardable-ratio" json:"discardable-ratio"`
SampleRatio float64 `toml:"sample-ratio" json:"sample-ratio"`
MergeSmallFileThreshold string `toml:"merge-small-file-threshold" json:"merge-small-file-threshold"`
BlobRunMode string `toml:"blob-run-mode" json:"blob-run-mode"`
LevelMerge bool `toml:"level-merge" json:"level-merge"`
RangeMerge bool `toml:"range-merge" json:"range-merge"`
MaxSortedRuns int `toml:"max-sorted-runs" json:"max-sorted-runs"`
GcMergeRewrite bool `toml:"gc-merge-rewrite" json:"gc-merge-rewrite"`
} `toml:"titan" json:"titan"`
} `toml:"defaultcf" json:"defaultcf"`
Writecf struct {
BlockSize string `toml:"block-size" json:"block-size"`
BlockCacheSize string `toml:"block-cache-size" json:"block-cache-size"`
DisableBlockCache bool `toml:"disable-block-cache" json:"disable-block-cache"`
CacheIndexAndFilterBlocks bool `toml:"cache-index-and-filter-blocks" json:"cache-index-and-filter-blocks"`
PinL0FilterAndIndexBlocks bool `toml:"pin-l0-filter-and-index-blocks" json:"pin-l0-filter-and-index-blocks"`
UseBloomFilter bool `toml:"use-bloom-filter" json:"use-bloom-filter"`
OptimizeFiltersForHits bool `toml:"optimize-filters-for-hits" json:"optimize-filters-for-hits"`
WholeKeyFiltering bool `toml:"whole-key-filtering" json:"whole-key-filtering"`
BloomFilterBitsPerKey int `toml:"bloom-filter-bits-per-key" json:"bloom-filter-bits-per-key"`
BlockBasedBloomFilter bool `toml:"block-based-bloom-filter" json:"block-based-bloom-filter"`
ReadAmpBytesPerBit int `toml:"read-amp-bytes-per-bit" json:"read-amp-bytes-per-bit"`
CompressionPerLevel []string `toml:"compression-per-level" json:"compression-per-level"`
WriteBufferSize string `toml:"write-buffer-size" json:"write-buffer-size"`
MaxWriteBufferNumber int `toml:"max-write-buffer-number" json:"max-write-buffer-number"`
MinWriteBufferNumberToMerge int `toml:"min-write-buffer-number-to-merge" json:"min-write-buffer-number-to-merge"`
MaxBytesForLevelBase string `toml:"max-bytes-for-level-base" json:"max-bytes-for-level-base"`
TargetFileSizeBase string `toml:"target-file-size-base" json:"target-file-size-base"`
Level0FileNumCompactionTrigger int `toml:"level0-file-num-compaction-trigger" json:"level0-file-num-compaction-trigger"`
Level0SlowdownWritesTrigger int `toml:"level0-slowdown-writes-trigger" json:"level0-slowdown-writes-trigger"`
Level0StopWritesTrigger int `toml:"level0-stop-writes-trigger" json:"level0-stop-writes-trigger"`
MaxCompactionBytes string `toml:"max-compaction-bytes" json:"max-compaction-bytes"`
CompactionPri int `toml:"compaction-pri" json:"compaction-pri"`
DynamicLevelBytes bool `toml:"dynamic-level-bytes" json:"dynamic-level-bytes"`
NumLevels int `toml:"num-levels" json:"num-levels"`
MaxBytesForLevelMultiplier int `toml:"max-bytes-for-level-multiplier" json:"max-bytes-for-level-multiplier"`
CompactionStyle int `toml:"compaction-style" json:"compaction-style"`
DisableAutoCompactions bool `toml:"disable-auto-compactions" json:"disable-auto-compactions"`
SoftPendingCompactionBytesLimit string `toml:"soft-pending-compaction-bytes-limit" json:"soft-pending-compaction-bytes-limit"`
HardPendingCompactionBytesLimit string `toml:"hard-pending-compaction-bytes-limit" json:"hard-pending-compaction-bytes-limit"`
ForceConsistencyChecks bool `toml:"force-consistency-checks" json:"force-consistency-checks"`
PropSizeIndexDistance int `toml:"prop-size-index-distance" json:"prop-size-index-distance"`
PropKeysIndexDistance int `toml:"prop-keys-index-distance" json:"prop-keys-index-distance"`
EnableDoublySkiplist bool `toml:"enable-doubly-skiplist" json:"enable-doubly-skiplist"`
EnableCompactionGuard bool `toml:"enable-compaction-guard" json:"enable-compaction-guard"`
CompactionGuardMinOutputFileSize string `toml:"compaction-guard-min-output-file-size" json:"compaction-guard-min-output-file-size"`
CompactionGuardMaxOutputFileSize string `toml:"compaction-guard-max-output-file-size" json:"compaction-guard-max-output-file-size"`
BottommostLevelCompression string `toml:"bottommost-level-compression" json:"bottommost-level-compression"`
BottommostZstdCompressionDictSize int `toml:"bottommost-zstd-compression-dict-size" json:"bottommost-zstd-compression-dict-size"`
BottommostZstdCompressionSampleSize int `toml:"bottommost-zstd-compression-sample-size" json:"bottommost-zstd-compression-sample-size"`
Titan struct {
MinBlobSize string `toml:"min-blob-size" json:"min-blob-size"`
BlobFileCompression string `toml:"blob-file-compression" json:"blob-file-compression"`
BlobCacheSize string `toml:"blob-cache-size" json:"blob-cache-size"`
MinGcBatchSize string `toml:"min-gc-batch-size" json:"min-gc-batch-size"`
MaxGcBatchSize string `toml:"max-gc-batch-size" json:"max-gc-batch-size"`
DiscardableRatio float64 `toml:"discardable-ratio" json:"discardable-ratio"`
SampleRatio float64 `toml:"sample-ratio" json:"sample-ratio"`
MergeSmallFileThreshold string `toml:"merge-small-file-threshold" json:"merge-small-file-threshold"`
BlobRunMode string `toml:"blob-run-mode" json:"blob-run-mode"`
LevelMerge bool `toml:"level-merge" json:"level-merge"`
RangeMerge bool `toml:"range-merge" json:"range-merge"`
MaxSortedRuns int `toml:"max-sorted-runs" json:"max-sorted-runs"`
GcMergeRewrite bool `toml:"gc-merge-rewrite" json:"gc-merge-rewrite"`
} `toml:"titan" json:"titan"`
} `toml:"writecf" json:"writecf"`
Lockcf struct {
BlockSize string `toml:"block-size" json:"block-size"`
BlockCacheSize string `toml:"block-cache-size" json:"block-cache-size"`
DisableBlockCache bool `toml:"disable-block-cache" json:"disable-block-cache"`
CacheIndexAndFilterBlocks bool `toml:"cache-index-and-filter-blocks" json:"cache-index-and-filter-blocks"`
PinL0FilterAndIndexBlocks bool `toml:"pin-l0-filter-and-index-blocks" json:"pin-l0-filter-and-index-blocks"`
UseBloomFilter bool `toml:"use-bloom-filter" json:"use-bloom-filter"`
OptimizeFiltersForHits bool `toml:"optimize-filters-for-hits" json:"optimize-filters-for-hits"`
WholeKeyFiltering bool `toml:"whole-key-filtering" json:"whole-key-filtering"`
BloomFilterBitsPerKey int `toml:"bloom-filter-bits-per-key" json:"bloom-filter-bits-per-key"`
BlockBasedBloomFilter bool `toml:"block-based-bloom-filter" json:"block-based-bloom-filter"`
ReadAmpBytesPerBit int `toml:"read-amp-bytes-per-bit" json:"read-amp-bytes-per-bit"`
CompressionPerLevel []string `toml:"compression-per-level" json:"compression-per-level"`
WriteBufferSize string `toml:"write-buffer-size" json:"write-buffer-size"`
MaxWriteBufferNumber int `toml:"max-write-buffer-number" json:"max-write-buffer-number"`
MinWriteBufferNumberToMerge int `toml:"min-write-buffer-number-to-merge" json:"min-write-buffer-number-to-merge"`
MaxBytesForLevelBase string `toml:"max-bytes-for-level-base" json:"max-bytes-for-level-base"`
TargetFileSizeBase string `toml:"target-file-size-base" json:"target-file-size-base"`
Level0FileNumCompactionTrigger int `toml:"level0-file-num-compaction-trigger" json:"level0-file-num-compaction-trigger"`
Level0SlowdownWritesTrigger int `toml:"level0-slowdown-writes-trigger" json:"level0-slowdown-writes-trigger"`
Level0StopWritesTrigger int `toml:"level0-stop-writes-trigger" json:"level0-stop-writes-trigger"`
MaxCompactionBytes string `toml:"max-compaction-bytes" json:"max-compaction-bytes"`
CompactionPri int `toml:"compaction-pri" json:"compaction-pri"`
DynamicLevelBytes bool `toml:"dynamic-level-bytes" json:"dynamic-level-bytes"`
NumLevels int `toml:"num-levels" json:"num-levels"`
MaxBytesForLevelMultiplier int `toml:"max-bytes-for-level-multiplier" json:"max-bytes-for-level-multiplier"`
CompactionStyle int `toml:"compaction-style" json:"compaction-style"`
DisableAutoCompactions bool `toml:"disable-auto-compactions" json:"disable-auto-compactions"`
SoftPendingCompactionBytesLimit string `toml:"soft-pending-compaction-bytes-limit" json:"soft-pending-compaction-bytes-limit"`
HardPendingCompactionBytesLimit string `toml:"hard-pending-compaction-bytes-limit" json:"hard-pending-compaction-bytes-limit"`
ForceConsistencyChecks bool `toml:"force-consistency-checks" json:"force-consistency-checks"`
PropSizeIndexDistance int `toml:"prop-size-index-distance" json:"prop-size-index-distance"`
PropKeysIndexDistance int `toml:"prop-keys-index-distance" json:"prop-keys-index-distance"`
EnableDoublySkiplist bool `toml:"enable-doubly-skiplist" json:"enable-doubly-skiplist"`
EnableCompactionGuard bool `toml:"enable-compaction-guard" json:"enable-compaction-guard"`
CompactionGuardMinOutputFileSize string `toml:"compaction-guard-min-output-file-size" json:"compaction-guard-min-output-file-size"`
CompactionGuardMaxOutputFileSize string `toml:"compaction-guard-max-output-file-size" json:"compaction-guard-max-output-file-size"`
BottommostLevelCompression string `toml:"bottommost-level-compression" json:"bottommost-level-compression"`
BottommostZstdCompressionDictSize int `toml:"bottommost-zstd-compression-dict-size" json:"bottommost-zstd-compression-dict-size"`
BottommostZstdCompressionSampleSize int `toml:"bottommost-zstd-compression-sample-size" json:"bottommost-zstd-compression-sample-size"`
Titan struct {
MinBlobSize string `toml:"min-blob-size" json:"min-blob-size"`
BlobFileCompression string `toml:"blob-file-compression" json:"blob-file-compression"`
BlobCacheSize string `toml:"blob-cache-size" json:"blob-cache-size"`
MinGcBatchSize string `toml:"min-gc-batch-size" json:"min-gc-batch-size"`
MaxGcBatchSize string `toml:"max-gc-batch-size" json:"max-gc-batch-size"`
DiscardableRatio float64 `toml:"discardable-ratio" json:"discardable-ratio"`
SampleRatio float64 `toml:"sample-ratio" json:"sample-ratio"`
MergeSmallFileThreshold string `toml:"merge-small-file-threshold" json:"merge-small-file-threshold"`
BlobRunMode string `toml:"blob-run-mode" json:"blob-run-mode"`
LevelMerge bool `toml:"level-merge" json:"level-merge"`
RangeMerge bool `toml:"range-merge" json:"range-merge"`
MaxSortedRuns int `toml:"max-sorted-runs" json:"max-sorted-runs"`
GcMergeRewrite bool `toml:"gc-merge-rewrite" json:"gc-merge-rewrite"`
} `toml:"titan" json:"titan"`
} `toml:"lockcf" json:"lockcf"`
Raftcf struct {
BlockSize string `toml:"block-size" json:"block-size"`
BlockCacheSize string `toml:"block-cache-size" json:"block-cache-size"`
DisableBlockCache bool `toml:"disable-block-cache" json:"disable-block-cache"`
CacheIndexAndFilterBlocks bool `toml:"cache-index-and-filter-blocks" json:"cache-index-and-filter-blocks"`
PinL0FilterAndIndexBlocks bool `toml:"pin-l0-filter-and-index-blocks" json:"pin-l0-filter-and-index-blocks"`
UseBloomFilter bool `toml:"use-bloom-filter" json:"use-bloom-filter"`
OptimizeFiltersForHits bool `toml:"optimize-filters-for-hits" json:"optimize-filters-for-hits"`
WholeKeyFiltering bool `toml:"whole-key-filtering" json:"whole-key-filtering"`
BloomFilterBitsPerKey int `toml:"bloom-filter-bits-per-key" json:"bloom-filter-bits-per-key"`
BlockBasedBloomFilter bool `toml:"block-based-bloom-filter" json:"block-based-bloom-filter"`
ReadAmpBytesPerBit int `toml:"read-amp-bytes-per-bit" json:"read-amp-bytes-per-bit"`
CompressionPerLevel []string `toml:"compression-per-level" json:"compression-per-level"`
WriteBufferSize string `toml:"write-buffer-size" json:"write-buffer-size"`
MaxWriteBufferNumber int `toml:"max-write-buffer-number" json:"max-write-buffer-number"`
MinWriteBufferNumberToMerge int `toml:"min-write-buffer-number-to-merge" json:"min-write-buffer-number-to-merge"`
MaxBytesForLevelBase string `toml:"max-bytes-for-level-base" json:"max-bytes-for-level-base"`
TargetFileSizeBase string `toml:"target-file-size-base" json:"target-file-size-base"`
Level0FileNumCompactionTrigger int `toml:"level0-file-num-compaction-trigger" json:"level0-file-num-compaction-trigger"`
Level0SlowdownWritesTrigger int `toml:"level0-slowdown-writes-trigger" json:"level0-slowdown-writes-trigger"`
Level0StopWritesTrigger int `toml:"level0-stop-writes-trigger" json:"level0-stop-writes-trigger"`
MaxCompactionBytes string `toml:"max-compaction-bytes" json:"max-compaction-bytes"`
CompactionPri int `toml:"compaction-pri" json:"compaction-pri"`
DynamicLevelBytes bool `toml:"dynamic-level-bytes" json:"dynamic-level-bytes"`
NumLevels int `toml:"num-levels" json:"num-levels"`
MaxBytesForLevelMultiplier int `toml:"max-bytes-for-level-multiplier" json:"max-bytes-for-level-multiplier"`
CompactionStyle int `toml:"compaction-style" json:"compaction-style"`
DisableAutoCompactions bool `toml:"disable-auto-compactions" json:"disable-auto-compactions"`
SoftPendingCompactionBytesLimit string `toml:"soft-pending-compaction-bytes-limit" json:"soft-pending-compaction-bytes-limit"`
HardPendingCompactionBytesLimit string `toml:"hard-pending-compaction-bytes-limit" json:"hard-pending-compaction-bytes-limit"`
ForceConsistencyChecks bool `toml:"force-consistency-checks" json:"force-consistency-checks"`
PropSizeIndexDistance int `toml:"prop-size-index-distance" json:"prop-size-index-distance"`
PropKeysIndexDistance int `toml:"prop-keys-index-distance" json:"prop-keys-index-distance"`
EnableDoublySkiplist bool `toml:"enable-doubly-skiplist" json:"enable-doubly-skiplist"`
EnableCompactionGuard bool `toml:"enable-compaction-guard" json:"enable-compaction-guard"`
CompactionGuardMinOutputFileSize string `toml:"compaction-guard-min-output-file-size" json:"compaction-guard-min-output-file-size"`
CompactionGuardMaxOutputFileSize string `toml:"compaction-guard-max-output-file-size" json:"compaction-guard-max-output-file-size"`
BottommostLevelCompression string `toml:"bottommost-level-compression" json:"bottommost-level-compression"`
BottommostZstdCompressionDictSize int `toml:"bottommost-zstd-compression-dict-size" json:"bottommost-zstd-compression-dict-size"`
BottommostZstdCompressionSampleSize int `toml:"bottommost-zstd-compression-sample-size" json:"bottommost-zstd-compression-sample-size"`
Titan struct {
MinBlobSize string `toml:"min-blob-size" json:"min-blob-size"`
BlobFileCompression string `toml:"blob-file-compression" json:"blob-file-compression"`
BlobCacheSize string `toml:"blob-cache-size" json:"blob-cache-size"`
MinGcBatchSize string `toml:"min-gc-batch-size" json:"min-gc-batch-size"`
MaxGcBatchSize string `toml:"max-gc-batch-size" json:"max-gc-batch-size"`
DiscardableRatio float64 `toml:"discardable-ratio" json:"discardable-ratio"`
SampleRatio float64 `toml:"sample-ratio" json:"sample-ratio"`
MergeSmallFileThreshold string `toml:"merge-small-file-threshold" json:"merge-small-file-threshold"`
BlobRunMode string `toml:"blob-run-mode" json:"blob-run-mode"`
LevelMerge bool `toml:"level-merge" json:"level-merge"`
RangeMerge bool `toml:"range-merge" json:"range-merge"`
MaxSortedRuns int `toml:"max-sorted-runs" json:"max-sorted-runs"`
GcMergeRewrite bool `toml:"gc-merge-rewrite" json:"gc-merge-rewrite"`
} `toml:"titan" json:"titan"`
} `toml:"raftcf" json:"raftcf"`
Titan struct {
Enabled bool `toml:"enabled" json:"enabled"`
Dirname string `toml:"dirname" json:"dirname"`
DisableGc bool `toml:"disable-gc" json:"disable-gc"`
MaxBackgroundGc int `toml:"max-background-gc" json:"max-background-gc"`
PurgeObsoleteFilesPeriod string `toml:"purge-obsolete-files-period" json:"purge-obsolete-files-period"`
} `toml:"titan" json:"titan"`
} `toml:"rocksdb" json:"rocksdb"`
Raftdb struct {
WalRecoveryMode int `toml:"wal-recovery-mode" json:"wal-recovery-mode"`
WalDir string `toml:"wal-dir" json:"wal-dir"`
WalTTLSeconds int `toml:"wal-ttl-seconds" json:"wal-ttl-seconds"`
WalSizeLimit string `toml:"wal-size-limit" json:"wal-size-limit"`
MaxTotalWalSize string `toml:"max-total-wal-size" json:"max-total-wal-size"`
MaxBackgroundJobs int `toml:"max-background-jobs" json:"max-background-jobs"`
MaxBackgroundFlushes int `toml:"max-background-flushes" json:"max-background-flushes"`
MaxManifestFileSize string `toml:"max-manifest-file-size" json:"max-manifest-file-size"`
CreateIfMissing bool `toml:"create-if-missing" json:"create-if-missing"`
MaxOpenFiles int `toml:"max-open-files" json:"max-open-files"`
EnableStatistics bool `toml:"enable-statistics" json:"enable-statistics"`
StatsDumpPeriod string `toml:"stats-dump-period" json:"stats-dump-period"`
CompactionReadaheadSize string `toml:"compaction-readahead-size" json:"compaction-readahead-size"`
InfoLogMaxSize string `toml:"info-log-max-size" json:"info-log-max-size"`
InfoLogRollTime string `toml:"info-log-roll-time" json:"info-log-roll-time"`
InfoLogKeepLogFileNum int `toml:"info-log-keep-log-file-num" json:"info-log-keep-log-file-num"`
InfoLogDir string `toml:"info-log-dir" json:"info-log-dir"`
InfoLogLevel string `toml:"info-log-level" json:"info-log-level"`
MaxSubCompactions int `toml:"max-sub-compactions" json:"max-sub-compactions"`
WritableFileMaxBufferSize string `toml:"writable-file-max-buffer-size" json:"writable-file-max-buffer-size"`
UseDirectIoForFlushAndCompaction bool `toml:"use-direct-io-for-flush-and-compaction" json:"use-direct-io-for-flush-and-compaction"`
EnablePipelinedWrite bool `toml:"enable-pipelined-write" json:"enable-pipelined-write"`
EnableUnorderedWrite bool `toml:"enable-unordered-write" json:"enable-unordered-write"`
AllowConcurrentMemtableWrite bool `toml:"allow-concurrent-memtable-write" json:"allow-concurrent-memtable-write"`
BytesPerSync string `toml:"bytes-per-sync" json:"bytes-per-sync"`
WalBytesPerSync string `toml:"wal-bytes-per-sync" json:"wal-bytes-per-sync"`
Defaultcf struct {
BlockSize string `toml:"block-size" json:"block-size"`
BlockCacheSize string `toml:"block-cache-size" json:"block-cache-size"`
DisableBlockCache bool `toml:"disable-block-cache" json:"disable-block-cache"`
CacheIndexAndFilterBlocks bool `toml:"cache-index-and-filter-blocks" json:"cache-index-and-filter-blocks"`
PinL0FilterAndIndexBlocks bool `toml:"pin-l0-filter-and-index-blocks" json:"pin-l0-filter-and-index-blocks"`
UseBloomFilter bool `toml:"use-bloom-filter" json:"use-bloom-filter"`
OptimizeFiltersForHits bool `toml:"optimize-filters-for-hits" json:"optimize-filters-for-hits"`
WholeKeyFiltering bool `toml:"whole-key-filtering" json:"whole-key-filtering"`
BloomFilterBitsPerKey int `toml:"bloom-filter-bits-per-key" json:"bloom-filter-bits-per-key"`
BlockBasedBloomFilter bool `toml:"block-based-bloom-filter" json:"block-based-bloom-filter"`
ReadAmpBytesPerBit int `toml:"read-amp-bytes-per-bit" json:"read-amp-bytes-per-bit"`
CompressionPerLevel []string `toml:"compression-per-level" json:"compression-per-level"`
WriteBufferSize string `toml:"write-buffer-size" json:"write-buffer-size"`
MaxWriteBufferNumber int `toml:"max-write-buffer-number" json:"max-write-buffer-number"`
MinWriteBufferNumberToMerge int `toml:"min-write-buffer-number-to-merge" json:"min-write-buffer-number-to-merge"`
MaxBytesForLevelBase string `toml:"max-bytes-for-level-base" json:"max-bytes-for-level-base"`
TargetFileSizeBase string `toml:"target-file-size-base" json:"target-file-size-base"`
Level0FileNumCompactionTrigger int `toml:"level0-file-num-compaction-trigger" json:"level0-file-num-compaction-trigger"`
Level0SlowdownWritesTrigger int `toml:"level0-slowdown-writes-trigger" json:"level0-slowdown-writes-trigger"`
Level0StopWritesTrigger int `toml:"level0-stop-writes-trigger" json:"level0-stop-writes-trigger"`
MaxCompactionBytes string `toml:"max-compaction-bytes" json:"max-compaction-bytes"`
CompactionPri int `toml:"compaction-pri" json:"compaction-pri"`
DynamicLevelBytes bool `toml:"dynamic-level-bytes" json:"dynamic-level-bytes"`
NumLevels int `toml:"num-levels" json:"num-levels"`
MaxBytesForLevelMultiplier int `toml:"max-bytes-for-level-multiplier" json:"max-bytes-for-level-multiplier"`
CompactionStyle int `toml:"compaction-style" json:"compaction-style"`
DisableAutoCompactions bool `toml:"disable-auto-compactions" json:"disable-auto-compactions"`
SoftPendingCompactionBytesLimit string `toml:"soft-pending-compaction-bytes-limit" json:"soft-pending-compaction-bytes-limit"`
HardPendingCompactionBytesLimit string `toml:"hard-pending-compaction-bytes-limit" json:"hard-pending-compaction-bytes-limit"`
ForceConsistencyChecks bool `toml:"force-consistency-checks" json:"force-consistency-checks"`
PropSizeIndexDistance int `toml:"prop-size-index-distance" json:"prop-size-index-distance"`
PropKeysIndexDistance int `toml:"prop-keys-index-distance" json:"prop-keys-index-distance"`
EnableDoublySkiplist bool `toml:"enable-doubly-skiplist" json:"enable-doubly-skiplist"`
EnableCompactionGuard bool `toml:"enable-compaction-guard" json:"enable-compaction-guard"`
CompactionGuardMinOutputFileSize string `toml:"compaction-guard-min-output-file-size" json:"compaction-guard-min-output-file-size"`
CompactionGuardMaxOutputFileSize string `toml:"compaction-guard-max-output-file-size" json:"compaction-guard-max-output-file-size"`
BottommostLevelCompression string `toml:"bottommost-level-compression" json:"bottommost-level-compression"`
BottommostZstdCompressionDictSize int `toml:"bottommost-zstd-compression-dict-size" json:"bottommost-zstd-compression-dict-size"`
BottommostZstdCompressionSampleSize int `toml:"bottommost-zstd-compression-sample-size" json:"bottommost-zstd-compression-sample-size"`
Titan struct {
MinBlobSize string `toml:"min-blob-size" json:"min-blob-size"`
BlobFileCompression string `toml:"blob-file-compression" json:"blob-file-compression"`
BlobCacheSize string `toml:"blob-cache-size" json:"blob-cache-size"`
MinGcBatchSize string `toml:"min-gc-batch-size" json:"min-gc-batch-size"`
MaxGcBatchSize string `toml:"max-gc-batch-size" json:"max-gc-batch-size"`
DiscardableRatio float64 `toml:"discardable-ratio" json:"discardable-ratio"`
SampleRatio float64 `toml:"sample-ratio" json:"sample-ratio"`
MergeSmallFileThreshold string `toml:"merge-small-file-threshold" json:"merge-small-file-threshold"`
BlobRunMode string `toml:"blob-run-mode" json:"blob-run-mode"`
LevelMerge bool `toml:"level-merge" json:"level-merge"`
RangeMerge bool `toml:"range-merge" json:"range-merge"`
MaxSortedRuns int `toml:"max-sorted-runs" json:"max-sorted-runs"`
GcMergeRewrite bool `toml:"gc-merge-rewrite" json:"gc-merge-rewrite"`
} `toml:"titan" json:"titan"`
} `toml:"defaultcf" json:"defaultcf"`
Titan struct {
Enabled bool `toml:"enabled" json:"enabled"`
Dirname string `toml:"dirname" json:"dirname"`
DisableGc bool `toml:"disable-gc" json:"disable-gc"`
MaxBackgroundGc int `toml:"max-background-gc" json:"max-background-gc"`
PurgeObsoleteFilesPeriod string `toml:"purge-obsolete-files-period" json:"purge-obsolete-files-period"`
} `toml:"titan" json:"titan"`
} `toml:"raftdb" json:"raftdb"`
RaftEngine struct {
Enable bool `toml:"enable" json:"enable"`
Dir string `toml:"dir" json:"dir"`
RecoveryMode string `toml:"recovery-mode" json:"recovery-mode"`
BytesPerSync string `toml:"bytes-per-sync" json:"bytes-per-sync"`
TargetFileSize string `toml:"target-file-size" json:"target-file-size"`
PurgeThreshold string `toml:"purge-threshold" json:"purge-threshold"`
CacheLimit string `toml:"cache-limit" json:"cache-limit"`
BatchCompressionThreshold string `toml:"batch-compression-threshold" json:"batch-compression-threshold"`
} `toml:"raft-engine" json:"raft-engine"`
Security struct {
CaPath string `toml:"ca-path" json:"ca-path"`
CertPath string `toml:"cert-path" json:"cert-path"`
KeyPath string `toml:"key-path" json:"key-path"`
CertAllowedCn []interface{} `toml:"cert-allowed-cn" json:"cert-allowed-cn"`
RedactInfoLog interface{} `toml:"redact-info-log" json:"redact-info-log"`
Encryption struct {
DataEncryptionMethod string `toml:"data-encryption-method" json:"data-encryption-method"`
DataKeyRotationPeriod string `toml:"data-key-rotation-period" json:"data-key-rotation-period"`
EnableFileDictionaryLog bool `toml:"enable-file-dictionary-log" json:"enable-file-dictionary-log"`
FileDictionaryRewriteThreshold int `toml:"file-dictionary-rewrite-threshold" json:"file-dictionary-rewrite-threshold"`
MasterKey struct {
Type string `toml:"type" json:"type"`
} `toml:"master-key" json:"master-key"`
PreviousMasterKey struct {
Type string `toml:"type" json:"type"`
} `toml:"previous-master-key" json:"previous-master-key"`
} `toml:"encryption" json:"encryption"`
} `toml:"security" json:"security"`
Import struct {
NumThreads int `toml:"num-threads" json:"num-threads"`
StreamChannelWindow int `toml:"stream-channel-window" json:"stream-channel-window"`
ImportModeTimeout string `toml:"import-mode-timeout" json:"import-mode-timeout"`
} `toml:"import" json:"import"`
Backup struct {
NumThreads int `toml:"num-threads" json:"num-threads"`
BatchSize int `toml:"batch-size" json:"batch-size"`
SstMaxSize string `toml:"sst-max-size" json:"sst-max-size"`
} `toml:"backup" json:"backup"`
PessimisticTxn struct {
WaitForLockTimeout string `toml:"wait-for-lock-timeout" json:"wait-for-lock-timeout"`
WakeUpDelayDuration string `toml:"wake-up-delay-duration" json:"wake-up-delay-duration"`
Pipelined bool `toml:"pipelined" json:"pipelined"`
} `toml:"pessimistic-txn" json:"pessimistic-txn"`
Gc struct {
RatioThreshold float64 `toml:"ratio-threshold" json:"ratio-threshold"`
BatchKeys int `toml:"batch-keys" json:"batch-keys"`
MaxWriteBytesPerSec string `toml:"max-write-bytes-per-sec" json:"max-write-bytes-per-sec"`
EnableCompactionFilter bool `toml:"enable-compaction-filter" json:"enable-compaction-filter"`
CompactionFilterSkipVersionCheck bool `toml:"compaction-filter-skip-version-check" json:"compaction-filter-skip-version-check"`
} `toml:"gc" json:"gc"`
Split struct {
QPSThreshold int `toml:"qps-threshold" json:"qps-threshold"`
SplitBalanceScore float64 `toml:"split-balance-score" json:"split-balance-score"`
SplitContainedScore float64 `toml:"split-contained-score" json:"split-contained-score"`
DetectTimes int `toml:"detect-times" json:"detect-times"`
SampleNum int `toml:"sample-num" json:"sample-num"`
SampleThreshold int `toml:"sample-threshold" json:"sample-threshold"`
ByteThreshold int `toml:"byte-threshold" json:"byte-threshold"`
} `toml:"split" json:"split"`
Cdc struct {
MinTsInterval string `toml:"min-ts-interval" json:"min-ts-interval"`
HibernateRegionsCompatible bool `toml:"hibernate-regions-compatible" json:"hibernate-regions-compatible"`
IncrementalScanThreads int `toml:"incremental-scan-threads" json:"incremental-scan-threads"`
IncrementalScanConcurrency int `toml:"incremental-scan-concurrency" json:"incremental-scan-concurrency"`
IncrementalScanSpeedLimit string `toml:"incremental-scan-speed-limit" json:"incremental-scan-speed-limit"`
SinkMemoryQuota string `toml:"sink-memory-quota" json:"sink-memory-quota"`
OldValueCacheMemoryQuota string `toml:"old-value-cache-memory-quota" json:"old-value-cache-memory-quota"`
OldValueCacheSize int `toml:"old-value-cache-size" json:"old-value-cache-size"`
} `toml:"cdc" json:"cdc"`
ResolvedTs struct {
Enable bool `toml:"enable" json:"enable"`
AdvanceTsInterval string `toml:"advance-ts-interval" json:"advance-ts-interval"`
ScanLockPoolSize int `toml:"scan-lock-pool-size" json:"scan-lock-pool-size"`
} `toml:"resolved-ts" json:"resolved-ts"`
ResourceMetering struct {
Enabled bool `toml:"enabled" json:"enabled"`
AgentAddress string `toml:"agent-address" json:"agent-address"`
ReportAgentInterval string `toml:"report-agent-interval" json:"report-agent-interval"`
MaxResourceGroups int `toml:"max-resource-groups" json:"max-resource-groups"`
Precision string `toml:"precision" json:"precision"`
} `toml:"resource-metering" json:"resource-metering"`
}
type TiflashConfigData ¶
type TiflashConfigData struct {
*TiflashConfig
Port int // TODO move to meta
}
func NewTiflashConfigData ¶
func NewTiflashConfigData() *TiflashConfigData
func (*TiflashConfigData) ActingName ¶
func (cfg *TiflashConfigData) ActingName() string
func (*TiflashConfigData) GetComponent ¶
func (cfg *TiflashConfigData) GetComponent() string
func (*TiflashConfigData) GetPort ¶
func (cfg *TiflashConfigData) GetPort() int
func (*TiflashConfigData) GetValueByTagPath ¶
func (cfg *TiflashConfigData) GetValueByTagPath(tagPath string) reflect.Value
type TikvConfig ¶
type TikvConfig struct {
Log Log `toml:"log" json:"log"`
LogLevel string `toml:"log-level" json:"log-level"`
LogFile string `toml:"log-file" json:"log-file"`
LogFormat string `toml:"log-format" json:"log-format"`
SlowLogFile string `toml:"slow-log-file" json:"slow-log-file"`
SlowLogThreshold string `toml:"slow-log-threshold" json:"slow-log-threshold"`
LogRotationTimespan string `toml:"log-rotation-timespan" json:"log-rotation-timespan"`
LogRotationSize string `toml:"log-rotation-size" json:"log-rotation-size"`
PanicWhenUnexpectedKeyOrData bool `toml:"panic-when-unexpected-key-or-data" json:"panic-when-unexpected-key-or-data"`
EnableIoSnoop bool `toml:"enable-io-snoop" json:"enable-io-snoop"`
AbortOnPanic bool `toml:"abort-on-panic" json:"abort-on-panic"`
MemoryUsageHighWater float64 `toml:"memory-usage-high-water" json:"memory-usage-high-water"`
ReadPool ReadPoolConfig `toml:"readpool" json:"readpool"`
Server ServerConfig `toml:"server" json:"server"`
Storage StorageConfig `toml:"storage" json:"storage"`
Pd PDConfig `toml:"pd" json:"pd"`
Metric struct {
Job string `toml:"job" json:"job"`
} `toml:"metric" json:"metric"`
RaftStore RaftStoreConfig `toml:"raftstore" json:"raftstore"`
Coprocessor CoprocessorConfig `toml:"coprocessor" json:"coprocessor"`
CoprocessorV2 struct {
} `toml:"coprocessor-v2" json:"coprocessor-v2"`
Rocksdb struct {
InfoLogLevel string `toml:"info-log-level" json:"info-log-level"`
WalRecoveryMode int `toml:"wal-recovery-mode" json:"wal-recovery-mode"`
WalDir string `toml:"wal-dir" json:"wal-dir"`
WalTTLSeconds int `toml:"wal-ttl-seconds" json:"wal-ttl-seconds"`
WalSizeLimit string `toml:"wal-size-limit" json:"wal-size-limit"`
MaxTotalWalSize string `toml:"max-total-wal-size" json:"max-total-wal-size"`
MaxBackgroundJobs int `toml:"max-background-jobs" json:"max-background-jobs"`
MaxBackgroundFlushes int `toml:"max-background-flushes" json:"max-background-flushes"`
MaxManifestFileSize string `toml:"max-manifest-file-size" json:"max-manifest-file-size"`
CreateIfMissing bool `toml:"create-if-missing" json:"create-if-missing"`
MaxOpenFiles int `toml:"max-open-files" json:"max-open-files"`
EnableStatistics bool `toml:"enable-statistics" json:"enable-statistics"`
StatsDumpPeriod string `toml:"stats-dump-period" json:"stats-dump-period"`
CompactionReadaheadSize string `toml:"compaction-readahead-size" json:"compaction-readahead-size"`
InfoLogMaxSize string `toml:"info-log-max-size" json:"info-log-max-size"`
InfoLogRollTime string `toml:"info-log-roll-time" json:"info-log-roll-time"`
InfoLogKeepLogFileNum int `toml:"info-log-keep-log-file-num" json:"info-log-keep-log-file-num"`
InfoLogDir string `toml:"info-log-dir" json:"info-log-dir"`
RateBytesPerSec string `toml:"rate-bytes-per-sec" json:"rate-bytes-per-sec"`
RateLimiterRefillPeriod string `toml:"rate-limiter-refill-period" json:"rate-limiter-refill-period"`
RateLimiterMode int `toml:"rate-limiter-mode" json:"rate-limiter-mode"`
RateLimiterAutoTuned bool `toml:"rate-limiter-auto-tuned" json:"rate-limiter-auto-tuned"`
BytesPerSync string `toml:"bytes-per-sync" json:"bytes-per-sync"`
WalBytesPerSync string `toml:"wal-bytes-per-sync" json:"wal-bytes-per-sync"`
MaxSubCompactions int `toml:"max-sub-compactions" json:"max-sub-compactions"`
WritableFileMaxBufferSize string `toml:"writable-file-max-buffer-size" json:"writable-file-max-buffer-size"`
UseDirectIoForFlushAndCompaction bool `toml:"use-direct-io-for-flush-and-compaction" json:"use-direct-io-for-flush-and-compaction"`
EnablePipelinedWrite bool `toml:"enable-pipelined-write" json:"enable-pipelined-write"`
EnableMultiBatchWrite bool `toml:"enable-multi-batch-write" json:"enable-multi-batch-write"`
EnableUnorderedWrite bool `toml:"enable-unordered-write" json:"enable-unordered-write"`
DefaultCF CFConfig `toml:"defaultcf" json:"defaultcf"`
WriteCF CFConfig `toml:"writecf" json:"writecf"`
LockCF CFConfig `toml:"lockcf" json:"lockcf"`
RaftCF CFConfig `toml:"raftcf" json:"raftcf"`
Titan struct {
Enabled bool `toml:"enabled" json:"enabled"`
Dirname string `toml:"dirname" json:"dirname"`
DisableGc bool `toml:"disable-gc" json:"disable-gc"`
MaxBackgroundGc int `toml:"max-background-gc" json:"max-background-gc"`
PurgeObsoleteFilesPeriod string `toml:"purge-obsolete-files-period" json:"purge-obsolete-files-period"`
} `toml:"titan" json:"titan"`
} `toml:"rocksdb" json:"rocksdb"`
RaftDB struct {
WalRecoveryMode int `toml:"wal-recovery-mode" json:"wal-recovery-mode"`
WalDir string `toml:"wal-dir" json:"wal-dir"`
WalTTLSeconds int `toml:"wal-ttl-seconds" json:"wal-ttl-seconds"`
WalSizeLimit string `toml:"wal-size-limit" json:"wal-size-limit"`
MaxTotalWalSize string `toml:"max-total-wal-size" json:"max-total-wal-size"`
MaxBackgroundJobs int `toml:"max-background-jobs" json:"max-background-jobs"`
MaxBackgroundFlushes int `toml:"max-background-flushes" json:"max-background-flushes"`
MaxManifestFileSize string `toml:"max-manifest-file-size" json:"max-manifest-file-size"`
CreateIfMissing bool `toml:"create-if-missing" json:"create-if-missing"`
MaxOpenFiles int `toml:"max-open-files" json:"max-open-files"`
EnableStatistics bool `toml:"enable-statistics" json:"enable-statistics"`
StatsDumpPeriod string `toml:"stats-dump-period" json:"stats-dump-period"`
CompactionReadaheadSize string `toml:"compaction-readahead-size" json:"compaction-readahead-size"`
InfoLogMaxSize string `toml:"info-log-max-size" json:"info-log-max-size"`
InfoLogRollTime string `toml:"info-log-roll-time" json:"info-log-roll-time"`
InfoLogKeepLogFileNum int `toml:"info-log-keep-log-file-num" json:"info-log-keep-log-file-num"`
InfoLogDir string `toml:"info-log-dir" json:"info-log-dir"`
InfoLogLevel string `toml:"info-log-level" json:"info-log-level"`
MaxSubCompactions int `toml:"max-sub-compactions" json:"max-sub-compactions"`
WritableFileMaxBufferSize string `toml:"writable-file-max-buffer-size" json:"writable-file-max-buffer-size"`
UseDirectIoForFlushAndCompaction bool `toml:"use-direct-io-for-flush-and-compaction" json:"use-direct-io-for-flush-and-compaction"`
EnablePipelinedWrite bool `toml:"enable-pipelined-write" json:"enable-pipelined-write"`
EnableUnorderedWrite bool `toml:"enable-unordered-write" json:"enable-unordered-write"`
AllowConcurrentMemtableWrite bool `toml:"allow-concurrent-memtable-write" json:"allow-concurrent-memtable-write"`
BytesPerSync string `toml:"bytes-per-sync" json:"bytes-per-sync"`
WalBytesPerSync string `toml:"wal-bytes-per-sync" json:"wal-bytes-per-sync"`
DefaultCF CFConfig `toml:"defaultcf" json:"defaultcf"`
Titan struct {
Enabled bool `toml:"enabled" json:"enabled"`
Dirname string `toml:"dirname" json:"dirname"`
DisableGc bool `toml:"disable-gc" json:"disable-gc"`
MaxBackgroundGc int `toml:"max-background-gc" json:"max-background-gc"`
PurgeObsoleteFilesPeriod string `toml:"purge-obsolete-files-period" json:"purge-obsolete-files-period"`
} `toml:"titan" json:"titan"`
} `toml:"raftdb" json:"raftdb"`
RaftEngine struct {
Enable bool `toml:"enable" json:"enable"`
Dir string `toml:"dir" json:"dir"`
RecoveryMode string `toml:"recovery-mode" json:"recovery-mode"`
BytesPerSync string `toml:"bytes-per-sync" json:"bytes-per-sync"`
TargetFileSize string `toml:"target-file-size" json:"target-file-size"`
PurgeThreshold string `toml:"purge-threshold" json:"purge-threshold"`
BatchCompressionThreshold string `toml:"batch-compression-threshold" json:"batch-compression-threshold"`
} `toml:"raft-engine" json:"raft-engine"`
Security struct {
CaPath string `toml:"ca-path" json:"ca-path"`
CertPath string `toml:"cert-path" json:"cert-path"`
KeyPath string `toml:"key-path" json:"key-path"`
CertAllowedCn []interface{} `toml:"cert-allowed-cn" json:"cert-allowed-cn"`
RedactInfoLog bool `toml:"redact-info-log" json:"redact-info-log"`
Encryption struct {
DataEncryptionMethod string `toml:"data-encryption-method" json:"data-encryption-method"`
DataKeyRotationPeriod string `toml:"data-key-rotation-period" json:"data-key-rotation-period"`
EnableFileDictionaryLog bool `toml:"enable-file-dictionary-log" json:"enable-file-dictionary-log"`
FileDictionaryRewriteThreshold int `toml:"file-dictionary-rewrite-threshold" json:"file-dictionary-rewrite-threshold"`
MasterKey struct {
Type string `toml:"type" json:"type"`
} `toml:"master-key" json:"master-key"`
PreviousMasterKey struct {
Type string `toml:"type" json:"type"`
} `toml:"previous-master-key" json:"previous-master-key"`
} `toml:"encryption" json:"encryption"`
} `toml:"security" json:"security"`
Import struct {
NumThreads int `toml:"num-threads" json:"num-threads"`
StreamChannelWindow int `toml:"stream-channel-window" json:"stream-channel-window"`
ImportModeTimeout string `toml:"import-mode-timeout" json:"import-mode-timeout"`
} `toml:"import" json:"import"`
Backup struct {
NumThreads int `toml:"num-threads" json:"num-threads"`
BatchSize int `toml:"batch-size" json:"batch-size"`
SstMaxSize string `toml:"sst-max-size" json:"sst-max-size"`
EnableAutoTune bool `toml:"enable-auto-tune" json:"enable-auto-tune"`
} `toml:"backup" json:"backup"`
PessimisticTxn struct {
WaitForLockTimeout string `toml:"wait-for-lock-timeout" json:"wait-for-lock-timeout"`
WakeUpDelayDuration string `toml:"wake-up-delay-duration" json:"wake-up-delay-duration"`
Pipelined bool `toml:"pipelined" json:"pipelined"`
} `toml:"pessimistic-txn" json:"pessimistic-txn"`
Gc struct {
RatioThreshold float64 `toml:"ratio-threshold" json:"ratio-threshold"`
BatchKeys int `toml:"batch-keys" json:"batch-keys"`
MaxWriteBytesPerSec string `toml:"max-write-bytes-per-sec" json:"max-write-bytes-per-sec"`
EnableCompactionFilter bool `toml:"enable-compaction-filter" json:"enable-compaction-filter"`
CompactionFilterSkipVersionCheck bool `toml:"compaction-filter-skip-version-check" json:"compaction-filter-skip-version-check"`
} `toml:"gc" json:"gc"`
Split struct {
QPSThreshold int `toml:"qps-threshold" json:"qps-threshold"`
SplitBalanceScore float64 `toml:"split-balance-score" json:"split-balance-score"`
SplitContainedScore float64 `toml:"split-contained-score" json:"split-contained-score"`
DetectTimes int `toml:"detect-times" json:"detect-times"`
SampleNum int `toml:"sample-num" json:"sample-num"`
SampleThreshold int `toml:"sample-threshold" json:"sample-threshold"`
ByteThreshold int `toml:"byte-threshold" json:"byte-threshold"`
} `toml:"split" json:"split"`
Cdc struct {
MinTsInterval string `toml:"min-ts-interval" json:"min-ts-interval"`
HibernateRegionsCompatible bool `toml:"hibernate-regions-compatible" json:"hibernate-regions-compatible"`
IncrementalScanThreads int `toml:"incremental-scan-threads" json:"incremental-scan-threads"`
IncrementalScanConcurrency int `toml:"incremental-scan-concurrency" json:"incremental-scan-concurrency"`
IncrementalScanSpeedLimit string `toml:"incremental-scan-speed-limit" json:"incremental-scan-speed-limit"`
SinkMemoryQuota string `toml:"sink-memory-quota" json:"sink-memory-quota"`
OldValueCacheMemoryQuota string `toml:"old-value-cache-memory-quota" json:"old-value-cache-memory-quota"`
} `toml:"cdc" json:"cdc"`
ResolvedTs struct {
Enable bool `toml:"enable" json:"enable"`
AdvanceTsInterval string `toml:"advance-ts-interval" json:"advance-ts-interval"`
ScanLockPoolSize int `toml:"scan-lock-pool-size" json:"scan-lock-pool-size"`
} `toml:"resolved-ts" json:"resolved-ts"`
ResourceMetering struct {
Enabled bool `toml:"enabled" json:"enabled"`
AgentAddress string `toml:"agent-address" json:"agent-address"`
ReportAgentInterval string `toml:"report-agent-interval" json:"report-agent-interval"`
MaxResourceGroups int `toml:"max-resource-groups" json:"max-resource-groups"`
Precision string `toml:"precision" json:"precision"`
} `toml:"resource-metering" json:"resource-metering"`
}
TikvConfigData is the struct represent TiKV config print from TiKV v5.0.2
type TikvConfigData ¶
type TikvConfigData struct {
*TikvConfig
Extra *TikvExtraData
Port int // TODO move to meta
Host string
}
func NewTikvConfigData ¶
func NewTikvConfigData() *TikvConfigData
func (*TikvConfigData) ActingName ¶
func (cfg *TikvConfigData) ActingName() string
func (*TikvConfigData) CheckNil ¶
func (cfg *TikvConfigData) CheckNil() bool
func (*TikvConfigData) GetComponent ¶
func (cfg *TikvConfigData) GetComponent() string
func (*TikvConfigData) GetHost ¶
func (cfg *TikvConfigData) GetHost() string
func (*TikvConfigData) GetPort ¶
func (cfg *TikvConfigData) GetPort() int
func (*TikvConfigData) GetValueByTagPath ¶
func (cfg *TikvConfigData) GetValueByTagPath(tagPath string) reflect.Value
func (*TikvConfigData) LoadClusterMeta ¶
func (cfg *TikvConfigData) LoadClusterMeta(tidbCluster *models.TiDBCluster, clusterMeta *spec.ClusterMeta)
type TikvExtraData ¶
type TikvExtraData struct {
TiFlashCnt int
}
type VersionRange ¶
type VersionRange string