# Copyright 2021 PingCAP, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

## Unistore config template
##  Human-readable big numbers:
##   Time(based on ms): ms, s, m, h
##    e.g.: 78_000 = "1.3m"
##  TODO
##   File size(based on byte): KB, MB, GB, TB, PB
##    e.g.: 1_048_576 = "1MB"

[server]
## PD server address
pd-addr = "127.0.0.1:2379"

## Unistore server address
store-addr = "127.0.0.1:9191"

## Unistore server http service address
status-addr = "127.0.0.1:9291"

## Log levels: trace, debug, info, warning, error, critical.
## Note that `debug` and `trace` are only available in development builds.
log-level = "info"

## Region size in bytes, default 64MB
region-size = 67108864

## Max CPU cores to use, set 0 to use all CPU cores in the machine.
max-procs = 0

## Raft store enabled or not
raft = true

## Log file path for unistore server, empty string print out to stdout
log-file = ""

[raftstore]
## Raft worker threads
raft-workers = 2


[engine]
## Path for db storage
db-path = "/tmp/badger"

## Value threshold for value or offset
value-threshold = 256

## Maximum size for each table in bytes, default 64MB
max-table-size = 67108864

## Maximum tables to keep in memory
num-mem-tables = 3

## Maximum number of Level 0 tables before compacting
num-L0-tables = 4

## Maximum number of Level 0 tables before stalling
num-L0-tables-stall = 8

## Value log file size in bytes, default 256MB
vlog-file-size = 268435456

## Sync data to disk
sync-write = true

## Number of compaction workers
num-compactors = 1


[coprocessor]
## When the number of keys in region [a,e) meets the region_max_keys,
## it will be split into twoseveral regions [a,b), [b,c), [c,d), [d,e).
## And the number of keys in [a,b), [b,c), [c,d) will be region_split_keys.
region-max-keys = 1440000
region-split-keys = 960000

[pessimistic-txn]
# The default and maximum delay in milliseconds before responding to TiDB when pessimistic
# transactions encounter locks, in milliseconds
wait-for-lock-timeout = 1000

# The duration between waking up lock waiter, in miliseconds
wake-up-delay-duration = 100
