Improvements
- Improve the Raftstore sampling accuracy for large key range batches #11039
- Add the correct "Content-Type" for
debug/pprof/profile
to make the Profile more easily identified #11521 - Renew the lease time of the leader infinitely when the Raftstore has heartbeats or handles read requests, which helps reduce latency jitter #11579
- Choose the store with the least cost when switching the leader, which helps improve performance stability #10602
- Fetch Raft logs asynchronously to reduce the performance jitter caused by blocking the Raftstore #11320
- Support the
QUARTER
function in vector calculation #5751 - Support pushing down the
BIT
data type to TiKV #30738 - Support pushing down the
MOD
function and theSYSDATE
function to TiKV #11916 - (dup: release-5.3.1.md > Improvements> TiKV)- Reduce the TiCDC recovery time by reducing the number of the Regions that require the Resolve Locks step #11993
- Support dynamically modifying
raftstore.raft-max-inflight-msgs
#11865 - Support
EXTRA_PHYSICAL_TABLE_ID_COL_ID
to enable dynamic pruning mode #11888 - Support calculation in buckets #11759
- Encode the keys of RawKV API V2 as
user-key
+memcomparable-padding
+timestamp
#11965 - Encode the values of RawKV API V2 as
user-value
+ttl
+ValueMeta
and encodedelete
inValueMeta
#11965 - TiKV Coprocessor supports the Projection operator #12114
- Support dynamically modifying
raftstore.raft-max-size-per-msg
#12017 - Support monitoring multi-k8s in Grafana #12014
- Transfer the leadership to CDC observer to reduce latency jitter #12111
- Support dynamically modifying
raftstore.apply_max_batch_size
andraftstore.store_max_batch_size
#11982 - RawKV V2 returns the latest version upon receiving the
raw_get
orraw_scan
request #11965 - Support the RCCheckTS consistency reads #12097
- Support dynamically modifying
storage.scheduler-worker-pool-size
(the thread count of the Scheduler pool) #12067 - Control the use of CPU and bandwidth by using the global foreground flow controller to improve the performance stability of TiKV #11855
- Support dynamically modifying
readpool.unified.max-thread-count
(the thread count of the UnifyReadPool) #11781 - Use the TiKV internal pipeline to replace the RocksDB pipeline and deprecate the
rocksdb.enable-multibatch-write
parameter #12059
Bug Fixes
- (dup: release-5.3.1.md > Bug fixes> TiKV)- Fix the panic issue caused by deleting snapshot files when the peer status is
Applying
#11746 - (dup: release-5.3.1.md > Bug fixes> TiKV)- Fix the issue of QPS drop when flow control is enabled and
level0_slowdown_trigger
is set explicitly #11424 - (dup: release-5.3.1.md > Bug fixes> TiKV)- Fix the issue that destroying a peer might cause high latency #10210
- (dup: release-5.3.1.md > Bug fixes> TiKV)- Fix a bug that TiKV cannot delete a range of data (
unsafe_destroy_range
cannot be executed) when the GC worker is busy #11903 - Fix a bug that TiKV panics when the data in
StoreMeta
is accidentally deleted in some corner cases #11852 - Fix a bug that TiKV panics when performing profiling on an ARM platform #10658
- Fix a bug that TiKV might panic if it has been running for 2 years or more #11940
- Fix the compilation issue on the ARM64 architecture caused by missing SSE instruction set #12034
- (dup: release-5.3.1.md > Bug fixes> TiKV)- Fix the issue that deleting an uninitialized replica might cause an old replica to be recreated #10533
- Fix the bug that stale messages causes TiKV to panic #12023
- Fix the issue that undefined behavior (UB) might occur in TsSet conversions #12070
- Fix a bug that replica reads might violate the linearizability #12109
- Fix the potential panic issue that occurs when TiKV performs profiling on Ubuntu 18.04 #9765
- Fix the issue that tikv-ctl returns an incorrect result due to its wrong string match #12049
- Fix the issue of intermittent packet loss and out of memory (OOM) caused by the overflow of memory metrics #12160
- Fix the potential issue of mistakenly reporting TiKV panics when exiting TiKV #12231