TiDB 7.1.5 Release Notes
发版日期:2024 年 4 月 26 日
TiDB 版本:7.1.5
兼容性变更
- 在 TiKV 中提供 RocksDB track-and-verify-wals-in-manifest 配置,用于调查 WAL (Write Ahead Log) 可能损坏问题 #16549 @v01dstar
改进提升
TiDB
TiKV
- 增加 peer 和 store 消息的 slow log #16600 @Connor1996
- 在 raftstore 线程中避免进行快照文件的 IO 操作,提高 TiKV 稳定性 #16564 @Connor1996
PD
Tools
错误修复
TiDB
- 修复一些情况下查询
BINARY
类型的 JSON 可能会报错的问题 #51547 @YangKeao - 修复当 SQL 语句中包含
JOIN
且SELECT
列表只包含常量时,使用 MPP 执行查询可能导致查询结果出错的问题 #50358 @yibin87 - 修复
init-stats
流程可能导致 TiDB panic 以及load stats
流程直接退出的问题 #51581 @hawkingrei - 修复 TiDB Server 在初始化完成之前就标记为 Health 的问题 #51596 @shenqidebaozi
- 修复主键类型是
VARCHAR
时,执行ALTER TABLE ... COMPACT TIFLASH REPLICA
可能会错误地提前结束的问题 #51810 @breezewish - 修复
shuffleExec
意外退出导致 TiDB 崩溃的问题 #48230 @wshwsh12 - 修复某些情况下
SHOW CREATE PLACEMENT POLICY
语句不显示SURVIVAL_PREFERENCES
属性的问题 #51699 @lcwangchao - 修复设置统计信息自动更新的时间窗口后,时间窗口外统计信息仍然可能更新的问题 #49552 @hawkingrei
- 修复当子查询中的
HAVING
子句包含关联列时,查询结果可能出错的问题 #51107 @hawkingrei - 修复
approx_percentile
函数可能导致 TiDB panic 的问题 #40463 @xzhangxian1008 - 修复
IN()
谓词中包含NULL
时,查询结果错误的问题 #51560 @winoros - 修复当配置文件中出现不合规的配置项时,配置文件不生效的问题 #51399 @Defined2014
- 修复
EXCHANGE PARTITION
在处理外键时判断错误的问题 #51807 @YangKeao - 修复查询
TIDB_HOT_REGIONS
表时结果返回内存表的问题 #50810 @Defined2014 - 修复
IFNULL
函数返回的类型和 MySQL 不一致的问题 #51765 @YangKeao - 修复 TTL 功能在某些情况下因为没有正确切分数据范围而造成数据热点的问题 #51527 @lcwangchao
- 修复 TiDB 持续发送探活请求到已经下线的 TiFlash 节点的问题 #46602 @zyguan
- 修复在
AUTO_ID_CACHE=1
时,AutoID Leader 发生变更可能造成自增列的值减少的问题 #52600 @tiancaiamao - 修复执行
INSERT IGNORE
可能出现唯一索引和数据不一致的问题 #51784 @wjhuang2016 - 修复添加唯一索引可能导致 TiDB panic 的问题 #52312 @wjhuang2016
- 修复窗口函数中有某些子查询时可能会 panic 的问题 #42734 @hi-rustin
- 修复
init-stats
流程可能导致 TiDB panic 以及load stats
流程直接退出的问题 #51581 @hawkingrei - 修复关闭 TableDual 的 Predicate 下推后,出现性能回退的问题 #50614 @time-and-fate
- 修复当子查询中的
HAVING
子句包含关联列时,查询结果可能出错的问题 #51107 @hawkingrei - 修复当某些列的统计信息没有完全加载时,
EXPLAIN
语句的结果中可能会显示错误的列 ID 的问题 #52207 @time-and-fate
- 修复一些情况下查询
TiKV
- 修复由于过时的 Region peer 忽略 GC 消息导致 resolve-ts 被阻塞的问题 #16504 @crazycs520
- 修复 RocksDB 中非活跃的 WAL (Write Ahead Log) 可能损毁数据的问题 #16705 @Connor1996
- 修复监控指标
tikv_unified_read_pool_thread_count
有时没有数据的问题 #16629 @YuJuncen - 修复乐观事务在执行期间被其它事务发起 resolve lock 时,如果事务的 primary key 上之前有通过异步提交 (Async Commit) 或一阶段提交 (1PC) 模式提交的数据,事务的原子性可能有小概率被破坏问题 #16620 @MyonKeminta
PD
TiFlash
- 修复日志中
local_region_num
数值错误的问题 #8895 @JaySon-Huang - 修复查询生成列出错的问题 #8787 @guo-shaoge
- 修复
ENUM
列在 chunk encode 时可能会导致 TiFlash crash 的问题 #8674 @yibin87 - 修复在非严格
sql_mode
下插入数据到带有异常默认值的列可能导致 TiFlash panic 的问题 #8803 @Lloyd-Pottiger - 修复
TIME
类型的列在精度修改后,如果发生 Region 迁移、分裂或合并,可能会导致查询出错的问题 #8601 @JaySon-Huang
- 修复日志中
Tools
Backup & Restore (BR)
- 修复在日志备份任务被暂停后,移除任务无法立即恢复 GC safepoint 的问题 #52082 @3pointer
- 修复全量备份失败时打印过多日志的问题 #51572 @Leavrth
- 修复在包含
AUTO_RANDOM
列的联合聚簇索引中,BR 无法备份AUTO_RANDOM
ID 分配进度的问题 #52255 @Leavrth - 修复在某些极端情况下,全量备份因找不到 peer 导致 TiKV panic 的问题 #16394 @Leavrth
- 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 #52597 @YuJuncen
- 修复一个不稳定的测试用例 #52547 @Leavrth
- 修复因 TiKV 重启,日志备份的 global checkpoint 推进提前于实际备份文件写入点,可能导致少量备份数据丢失的问题 #16809 @YuJuncen
- 修复在小概率情况下,由于特殊的事件时序导致日志备份数据丢失的问题 #16739 @YuJuncen
TiCDC
- 修复上游写入
Exchange Partition ... With Validation
DDL 后,TiCDC 向下游执行该 DDL 时失败,导致 changefeed 卡住的问题 #10859 @hongyunyan - 修复恢复 changefeed 时 changefeed 的
checkpoint-ts
小于 TiDB 的 GC safepoint,没有及时报错snapshot lost caused by GC
的问题 #10463 @sdojjy - 修复在调度表的同步任务时 TiCDC panic 的问题 #10613 @CharlesCheung96
- 修复在频繁执行 DDL 的场景中,由于错误的 BarrierTS 导致数据被写入到错误的 CSV 文件的问题 #10668 @lidezhu
- 修复当对象存储遇到暂时故障时,启用了最终一致性功能的 changefeed 可能直接失败的问题 #10710 @CharlesCheung96
- 修复
open-protocol
的 old value 部分错误地按照STRING
类型而非真正类型输出默认值的问题 #10803 @3AceShowHand
- 修复上游写入
TiDB Lightning