# TiKV
# tikv-server v4.0.13
27, May 2021 Source (opens new window)
Improvements
- Make the calculation process of
store used sizemore precise 9904 - Set more Regions in the
EpochNotMatchmessage to reduce Region misses 9731 - Speed up freeing the memory accumulated in the long-running cluster 10035
Bug Fixes
- Fix a bug that TiKV cannot start if the
file_dictfile is not fully written into the disk that has been full 9963 - Limit TiCDC's scan speed at 128MB/s by default 9983
- Reduce the memory usage of TiCDC's initial scan 10133
- Support the back pressure for TiCDC's scan speed 10142
- Fix a potential OOM issue by avoiding unnecessary reads to get TiCDC old values 10031
- Fix a TiCDC OOM issue caused by reading old values 10197
- Add a timeout mechanism for S3 storages to avoid the client hanging without responses 10132
# release v5.1.0-alpha
24, May 2021 Source (opens new window)
Release v5.1.0-alpha
# v4.0.7-20210429: sst_importer: do not change block_cache_size in import mode (#6558) (…
29, Apr 2021 Source (opens new window)
…#9116)
Signed-off-by: ti-srebot ti-srebot@pingcap.com
Signed-off-by: kennytm kennytm@gmail.com
# tikv-server v5.0.1
23, Apr 2021 Source (opens new window)
Improvements
- Use
zstdto compress the Region snapshot #10005
Bug Fixes
- Fix the issue that the coprocessor fails to properly handle the signed or unsigned integer types in the
INexpression #10018 - Fix the issue of many empty Regions after batch ingesting SST files #10015
- Fix the potential panic that occurs when the input of
cast_string_as_timeis invalid UTF-8 bytes #9995 - Fix a bug that TiKV cannot start up after the file dictionary file is damaged #9992
# tikv-server v5.0.0
07, Apr 2021 Source (opens new window)
- Compatibility changes
- Replace the
rocksdb.auto-tunedconfiguration item withrocksdb.rate-limiter-auto-tuned - Delete the
raftstore.sync-logconfiguration item. By default, written data is forcibly spilled to the disk. Before v5.0, you can explicitly disableraftstore.sync-log. Since v5.0, the configuration value is forcibly set totrue - Change the default value of the
gc.enable-compaction-filterconfiguration item fromfalsetotrue - Change the default value of the
rate-limiter-auto-tunedconfiguration item fromfalsetotrue
- Replace the
- New features
- Support log redaction to desensitize the output log information. The configuration item
security.redact-info-log. Its default value isfalse, which means that desensitization is disabled. To enable desensitization for tikv-server logs, set the variable value totrue - Support transaction async commit
- Support Raft joint consensus
- Support log redaction to desensitize the output log information. The configuration item
- Improvements
- Enable the system to automatically adjust the data compaction speed by default to balance the contention for I/O resources between background tasks and foreground reads and writes
- Enable the GC Compaction Filter feature by default to reduce GC’s consumption of CPU and I/O resources
- Optimize load base split strategy to solve the performance problem that data cannot be split in some small table hotspot read scenarios
# tikv-server v4.0.12
02, Apr 2021 Source (opens new window)
Improvements
- Prevent a large number of reconnections in a short period of time #9879
- Optimize the write operations in the scenarios of many tombstones #9729
- Change the default value of
leader-transfer-max-log-lagto128to increase the success rate of leader transfer #9605
Bug Fixes
- Fix the issue that the
INexpression does not properly handle unsigned/signed integers #9850 - Fix the issue that the ingest operation is not re-entrant #9779
- Fix the issue that the space is missed when converting JSON to string in TiKV coprocessor #9666
# v5.0.0-nightly: txn_types: Check overflow in timestamp computation (#9777) (#9812)
15, Mar 2021 Source (opens new window)
Signed-off-by: ti-srebot ti-srebot@pingcap.com
Co-authored-by: Zijie Lu wslzj40@gmail.com
# tikv-server v4.0.11
26, Feb 2021 Source (opens new window)
New Features
Improvements
- Add metrics of server information for DBaaS #9591
- Support multiple clusters in Grafana dashboards #9572
- Report RocksDB metrics to TiDB #9316
- Record the suspension time for Coprocessor tasks #9277
- Add thresholds of key counts and key size for Load Base Split #9354
- Check whether the file exists before data import #9544
- Improve Fast Tune panels #9180
Bug Fixes
- Fix the issue that TiKV is failed to build with
PROST=1#9604 - Fix the unmatched memory diagnostics #9589
- Fix the issue that the end key of a partial RawKV-restore range is inclusive #9583
- Fix the issue that TiKV might panic when loading the old value of a key of a rolled-back transaction during TiCDC's incremental scan #9569
- Fix the configuration glitch of old values when changefeeds with different settings connect to one Region #9565
- Fix a crash issue that occurs when running a TiKV cluster on a machine with a network interface that lacks the MAC address (introduced in v4.0.9) #9516
- Fix the issue of TiKV OOM when backing up a huge Region #9448
- Fix the issue that
region-split-check-diffcannot be customized #9530 - Fix the issue of TiKV panic when the system time goes back #9542
# tikv-server v4.0.10
15, Jan 2021 Source (opens new window)
Bug Fixes
- Fix the wrong mapping between ready and peer #9409
- Fix the issue that some logs are not redacted when
security.redact-info-logis set totrue#9314
# tikv-server v5.0.0-rc
12, Jan 2021 Source (opens new window)
- Security
- Support desensitizing error messages and log files to avoid leaking sensitive information, such as ID information and credit card number. Users can enable the desensitization feature by setting the
security.redact-info-log = truein the configuration.
- Support desensitizing error messages and log files to avoid leaking sensitive information, such as ID information and credit card number. Users can enable the desensitization feature by setting the
- Transaction
- Support async commit feature to significantly reduce the latency of transactions. Previously without the async commit feature, the statements being written were only returned to the client after the two-phase transaction commit finished. Now the async commit feature supports returning the result to the client after the first phase of the two-phase commit finishes. The second phase is then performed asynchronously in the background, thus reducing the latency of transaction commit. Note that this feature is only used with tidb-server.
- Engine
- Introduce IO rate limiter and support dynamically changing auto-tuned mode of rate limiter. The system automatically adjusts the compaction rate to balance the contention for I/O resources between background tasks and foreground data reads and writes. After enabling this feature via the
rate-limiter-auto-tunedconfiguration item, the delay jitter is greatly reduced than that when this feature is disabled. - Support GC Compaction Filter feature. When TiKV performs garbage collection (GC) and data compaction, partitions occupy CPU and I/O resources. Overlapping data exists during the execution of these two tasks. To reduce I/O usage, the GC Compaction Filter feature combines these two tasks into one and executes them in the same task. This feature is still experimental and you can enable it via
gc.enable-compaction-filter = ture. - Enable compaction guard by default, to split rocksdb SST files at TiKV region boundaries, to reduce overall compaction IO.
- Introduce IO rate limiter and support dynamically changing auto-tuned mode of rate limiter. The system automatically adjusts the compaction rate to balance the contention for I/O resources between background tasks and foreground data reads and writes. After enabling this feature via the
- RaftStore
- Support using joint consensus improving the availability during region membership change. "adding a member” and "deleting a member” operations during the membership change are combined into one operation and sent to all members. During the change process, Regions are in an intermediate state. If any modified member fails, the system is still available. Users can enable this feature by modifying the membership variable by executing
pd-ctl config set enable-joint-consensus true.
- Support using joint consensus improving the availability during region membership change. "adding a member” and "deleting a member” operations during the membership change are combined into one operation and sent to all members. During the change process, Regions are in an intermediate state. If any modified member fails, the system is still available. Users can enable this feature by modifying the membership variable by executing