# TiKV

# tikv-server v4.0.13

27, May 2021 Source (opens new window)

Improvements

  • Make the calculation process of store used size more precise 9904
  • Set more Regions in the EpochNotMatch message 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_dict file 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 zstd to 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 IN expression #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_time is 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-tuned configuration item with rocksdb.rate-limiter-auto-tuned
    • Delete the raftstore.sync-log configuration item. By default, written data is forcibly spilled to the disk. Before v5.0, you can explicitly disable raftstore.sync-log. Since v5.0, the configuration value is forcibly set to true
    • Change the default value of the gc.enable-compaction-filter configuration item from false to true
    • Change the default value of the rate-limiter-auto-tuned configuration item from false to true
  • New features
    • Support log redaction to desensitize the output log information. The configuration item security.redact-info-log. Its default value is false, which means that desensitization is disabled. To enable desensitization for tikv-server logs, set the variable value to true
    • Support transaction async commit
    • Support Raft joint consensus
  • 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-lag to 128 to increase the success rate of leader transfer #9605

Bug Fixes

  • Fix the issue that the IN expression 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

  • Support the utf8mb4_unicode_ci collation #9577
  • Support the cast_year_as_time collation #9299

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-diff cannot 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-log is set to true #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 = true in the configuration.
  • 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-tuned configuration 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.
  • 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.