提升改进
- TiDB
- 避免向非健康状态的 TiKV 节点发送请求,以提升可用性 #34906
- TiKV
- 当 TLS 证书更新时自动重新加载,以提升可用性 #12546
- 健康检查可以检测到无法正常工作的 Raftstore,使得 TiKV client 可以及时更新 Region Cache #12398
- 通过将 leader 转让给 CDC observer 减少延迟抖动 #12111
- PD
- 默认关闭编译 swagger server #4932
- Tools
- TiDB Lightning
- 优化 Scatter Region 为批量模式,提升 Scatter Region 过程的稳定性 #33618
Bug 修复
- TiDB
- 修复在 binary protocol 下 Plan Cache 有时会缓存错误的 TableDual 计划的问题 #34690 #34678
- 修复了执行计划在 EqualAll 的情况下,把 TiFlash 的
firstrow
聚合函数的 null flag 设错的问题 #34584
- 修复了执行处理器为 TiFlash 生成错误的两阶段 aggregate 计划的问题 #34682
- 修复了
tidb_opt_agg_push_down
和 tidb_enforce_mpp
启用时执行处理器的错误行为 #34465
- 修复了 Plan Cache 在被 evict 时使用了错误的 memory usage 指标的问题 #34613
- 修复了
LOAD DATA
语句中列的列表不生效的问题 #35198
- 避免在悲观事务中报出
Write Conflict
错误 #11612
- 修复了在遇到 Region error 和网络问题时 prewrite 请求不幂等的问题 #34875
- 修复了回滚 async commit 事务可能导致事务不满足原子性的问题 #33641
- 如果发生网络连接问题,TiDB 并不总是能正确释放已断开会话所占有的资源。该修复可以确保 TiDB 回滚打开的事务以及释放其他相关资源。#34722
- 修复在查询包含 CTE 的视图时,可能误报
references invalid table
的问题 #33965
- 修复 TiDB 由于
fatal error: concurrent map read and map write
发生崩溃的问题 #35340
- TiKV
- 修复
max_sample_size
为 0
时 ANALYZE 可能导致 panic 的问题 #11192
- 修复 TiKV 在退出时可能误报 panic 的问题 #12231
- 修复在 Region merge 时 source peer 通过 snapshot 追日志时可能导致 panic 的问题 #12663
- 修复同时分裂和销毁一个 peer 时可能导致 panic 的问题 #12825
- 修复了 PD 客户端遇到报错时频繁重连的问题 #12345
- 修复了
DATETIME
类型的数据包含小数部分和 Z
后缀导致检查报错的问题 #12739
- 修复了对空字符串进行类型转换导致 TiKV panic 的问题 #12673
- 修复了在悲观事务中使用 Async Commit 导致重复提交记录的问题 #12615
- 修复进行 Follower Read 时,可能会报
invalid store ID 0
错误的问题 #12478
- 修复销毁 peer 和批量分裂 Region 之间的竞争导致的 TiKV panic #12368
- 修复 tikv-ctl 对
bad-ssts
结果字符串进行错误匹配的问题 #12329
- 修复在 aufs 上启动 TiKV 报错的问题 #12543
- PD
- 修复
not leader
的 status code 有误的问题 #4797
- 修复由于 Hot Region 没有 leader 导致 PD Panic 的问题 #5005
- 修复 PD leader 转移后调度不能立即启动的问题 #4769
- 修复在某些特殊情况下 TSO fallback 的问题 #4884
- TiFlash
- 修复在 clustered index 表删除列导致 TiFlash 崩溃的问题 #5154
- 修复大量 INSERT 和 DELETE 操作后可能导致 TiFlash 数据不一致的问题 #4956
- 修复极端情况下 decimal 比较结果可能有误的问题 #4512
- Tools
- Backup & Restore (BR)
- 修复了 RawKV 模式下 BR 报
ErrRestoreTableIDMismatch
错误的问题 #35279
- 修复了出现保存文件错误时 BR 没有重试的问题 #34865
- 修复了 BR 运行时 panic 的问题 #34956
- 修复 BR 无法处理 S3 内部错误的问题 #34350
- 修复了当恢复操作遇到一些无法恢复的错误时,BR 被卡住的问题 #33200
- TiCDC
- 修复了增量扫描特殊场景下的数据丢失问题 #5468
- 修复 redo log manager 提前 flush log 的问题 #5486
- 修复当一部分表没有被 redo writer 管理时 resolved ts 提前推进的问题 #5486
- 添加 UUID 作为 redo log file 的后缀以解决文件名冲突引起的数据丢失问题 #5486
- 修复了 Region Leader 丢失时重试超过次数上限后同步中断的问题 #5230
- 修复 MySQL Sink 可能会保存错误的 checkpointTs 的问题 #5107
- 修复了 HTTP server 中潜在的 goroutine 泄露问题 #5303
- 修复了元信息所在 Region 发生变化时可能导致延迟上升的问题 #4756 #4762
- TiDB Data Migration (DM)
- 修复了任务自动恢复后 DM 会占用更大的磁盘空间的问题 #5344
- 修复在未设置
case-sensitive: true
时无法同步大写表的问题 #5255
转自 TiDB 5.4.2 Release Notes | PingCAP Docs