TiDB 6.5.12 Release Notes
发版日期:2025 年 2 月 27 日
TiDB 版本:6.5.12
兼容性变更
- 支持 openEuler 22.03 LTS SP3/SP4 操作系统。详情请参考操作系统及平台要求。
- 通过 TiDB HTTP API 获取 DDL 历史任务时,默认获取任务数量的上限为 2048,以避免历史任务数量过多导致 OOM 的问题 #55711 @joccau
- 新增系统变量
tidb_ddl_reorg_max_write_speed
,用于限制加索引时 ingest 阶段速度的上限 #57156 @CbcWestwolf
改进提升
TiDB
- 增强读时间戳的合法性检测 #57786 @MyonKeminta
TiKV
TiFlash
- 提升聚簇索引表在后台回收过期数据的速度 #9529 @JaySon-Huang
Tools
Backup & Restore (BR)
TiDB Lightning
错误修复
TiDB
- 修复使用
NATURAL JOIN
或者USING
子句之后,再使用子查询可能会报错的问题 #53766 @dash12653 - 修复由于
CAST
函数不支持显式设置字符集导致报错的问题 #55677 @Defined2014 - 修复
LOAD DATA ... REPLACE INTO
导致的数据不一致问题 #56408 @fzzf678 - 修复执行
ADD INDEX
时,未检查索引长度限制的问题 #56930 @fzzf678 - 修复当公共表表达式 (CTE) 有多个数据消费者时,如果某个消费者在未读取数据时就退出,可能导致非法内存访问的问题 #55881 @windtalker
- 修复在构造
IndexMerge
时可能丢失部分谓词的问题 #58476 @hawkingrei - 修复将数据从
BIT
类型换为CHAR
类型时可能导致 TiKV 崩溃的问题 #56494 @lcwangchao - 修复在
CREATE VIEW
语句中使用变量或参数时未报错的问题 #53176 @mjonss - 修复未释放的会话资源可能导致的内存泄漏问题 #56271 @lance6716
- 修复分布式执行框架下,在 PD 修改成员后
ADD INDEX
可能失败的问题 #48680 @lance6716 - 修复查询
cluster_slow_query
表时,使用ORDER BY
可能导致结果乱序的问题 #51723 @Defined2014 - 修复由于 stale read 未对读操作的时间戳进行严格校验,导致 TSO 和真实物理时间存在偏移,有小概率影响事务一致性的问题 #56809 @MyonKeminta
- 修复
INFORMATION_SCHEMA.columns
查询性能下降的问题 #58184 @lance6716 - 修复
INSERT ... ON DUPLICATE KEY
语句不兼容mysql_insert_id
的问题 #55965 @tiancaiamao - 修复当查询条件为
column IS NULL
访问唯一索引时,优化器将行数错误地估算为 1 的问题 #56116 @hawkingrei - 修复
IndexLookUp
算子部分内存未被追踪的问题 #56440 @wshwsh12 - 修复 TiDB 内部协程可能出现数据竞争的问题 #57798 #56053 @fishiu @tiancaiamao
- 修复当一个查询有索引合并 (Index Merge) 执行计划可用时,
read_from_storage
hint 可能不生效的问题 #56217 @AilinKid - 修复无法为带别名的多表删除语句
DELETE
创建执行计划绑定的问题 #56726 @hawkingrei - 修复
INDEX_HASH_JOIN
在异常退出时可能卡住的问题 #54055 @wshwsh12 - 修复可能同时存在两个 DDL Owner 的问题 #54689 @joccau
- 修复查询
information_schema.cluster_slow_query
表时,如果不加时间过滤条件,则只会查询最新的慢日志文件的问题 #56100 @crazycs520 - 修复添加唯一索引时可能遇到
duplicate entry
的问题 #56161 @tangenta - 修复在某些类型转换出错的情况下报错信息不对的问题 #41730 @hawkingrei
- 修复
VIEW
中定义的 CTE 被错误 inline 的问题 #56582 @elsa0520 - 修复
UPDATE
语句更新ENUM
类型的值时更新错误的问题 #56832 @xhebox - 修复某些情况下在新增
DATE
类型的列后执行UPDATE
语句报错Incorrect date value: '0000-00-00'
的问题 #59047 @mjonss - 修复在 Prepare 协议中,客户端使用非 UTF8 相关字符集报错的问题 #58870 @xhebox
- 修复某些情况下查询临时表会产生 TiKV 请求的问题 #58875 @tiancaiamao
- 修复
ONLY_FULL_GROUP_BY
设置对于视图中的语句不生效的问题 #53175 @mjonss - 修复查询分区表时,
IN
条件中的值类型不匹配且转换错误,导致查询结果出错的问题 #54746 @mjonss - 修复当某些项的值为空时,查询慢日志可能失败的问题 #58147 @yibin87
- 修复
RADIANS()
函数计算顺序错误的问题 #57671 @gengliqi - 修复
BIT
列默认值错误的问题 #57301 @YangKeao - 修复如果 CTE 包含
ORDER BY
、LIMIT
或SELECT DISTINCT
子句并且被另外一个 CTE 的递归部分引用,可能出现内联 (Inline) 错误 #56603 @elsa0520 - 修复统计信息同步加载超时可能处理不正确的问题 #57710 @hawkingrei
- 修复在 CTE 中解析数据库名时,可能得到错误的数据库名的问题 #54582 @hawkingrei
- 修复 TiDB 启动时由于非法绑定数据可能导致 panic 的问题 #58016 @qw4990
- 修复代价估算在某些极端场景下估算出非法 INF/NaN 值,进而可能导致 Join Reorder 结果错误的问题 #56704 @winoros
- 修复手动加载统计信息时,统计信息文件中包含 null 可能导致加载失败的问题 #53966 @King-Dylan
- 修复创建两个相同名称的视图而没有报错的问题 #58769 @tiancaiamao
- 修复虚拟生成列依赖包含
ON UPDATE
属性的列时,更新行的数据与其索引数据不一致问题 #56829 @joechenrh - 修复系统表
INFORMATION_SCHEMA.TABLES
返回结果不正确的问题 #57345 @tangenta
- 修复使用
TiKV
- 修复 Follower Read 可能读取到过期数据的问题 #17018 @glorv
- 修复销毁 Peer 时可能出现的 TiKV panic 问题 #18005 @glorv
- 修复时钟回退导致 RocksDB 流控异常,进而引发性能抖动的问题 #17995 @LykxSassinator
- 修复磁盘卡住可能导致 Leader 无法迁移,进而引发性能抖动的问题 #17363 @hhwyt
- 修复在仅启用一阶段提交 (1PC) 而未启用异步提交 (Async Commit) 时,可能无法读取最新写入数据的问题 #18117 @zyguan
- 修复 GC Worker 负载过高时可能出现的死锁问题 #18214 @zyguan
- 修复 Grafana 上 TiKV 面板的 Storage async write duration 监控指标不准确的问题 #17579 @overvenus
- 修复使用
RADIANS()
或DEGREES()
函数时可能导致 TiKV panic 的问题 #17852 @gengliqi - 修复 TiKV 处理 destroyed peer 时可能遇到的 panic 的问题 #17840 @glorv
- 修复 Region Split 后可能无法快速选出 Leader 的问题 #17602 @LykxSassinator
- 修复处理 GBK/GB18030 编码的数据时可能出现编码失败的问题 #17618 @CbcWestwolf
PD
- 修复 TSO 分配过程中可能出现的内存泄漏问题 #9004 @rleungx
- 修复设置
tidb_enable_tso_follower_proxy
系统变量可能不生效的问题 #8947 @JmPotato - 修复一个可能导致 PD panic 的潜在问题 #8915 @bufferflies
- 修复长期运行的集群中可能出现的内存泄漏问题 #9047 @bufferflies
- 修复当某个 PD 节点不是 Leader 时,仍可能生成 TSO 的问题 #9051 @rleungx
- 修复 PD Leader 切换过程中,Region syncer 未能及时退出的问题 #9017 @rleungx
- 修复创建
evict-leader-scheduler
或grant-leader-scheduler
遇到错误时,未能将错误信息返回到 pd-ctl 的问题 #8759 @okJiang - 修复热点缓存中可能存在的内存泄露问题 #8698 @lhy1024
- 修复存在大量 Region 时,无法请求 PD 的 Region API 的问题 #55872 @rleungx
- 修复
evict-leader-scheduler
在使用相同 Store ID 重复创建后无法正常工作的问题 #8756 @okJiang - 将 Gin Web Framework 的版本从 v1.9.1 升级到 v1.10.0 以修复潜在的安全问题 #8643 @JmPotato
- 修复在
evict-leader-scheduler
中使用了错误的参数后,PD 不能正确报错且导致部分 scheduler 不可用的问题 #8619 @rleungx - 修复 label 统计中的内存泄露问题 #8700 @lhy1024
- 修复 TiDB Dashboard 不能正常读取 PD
trace
数据的问题 #7253 @nolouch - 修复 Region 统计中的内存泄露问题 #8710 @rleungx
- 修复 etcd Leader 切换时 PD 不能快速重新选举的问题 #8823 @rleungx
TiFlash
- 修复
SUBSTRING()
函数不支持部分整数类型的pos
和len
参数导致查询报错的问题 #9473 @gengliqi - 修复一些 TiFlash 不支持的 JSON 函数被错误地下推到 TiFlash 的问题 #9444 @windtalker
- 修复当
SUBSTRING()
函数的第二个参数为负数时,可能返回错误结果的问题 #9604 @guo-shaoge - 修复当
LPAD()
和RPAD()
函数在某些情况下返回错误结果的问题 #9465 @guo-shaoge - 修复对大表执行
DROP TABLE
可能导致 TiFlash OOM 的问题 #9437 @JaySon-Huang - 修复获取 CPU 数量时因出现零除错误而导致 TiFlash 启动失败的问题 #9212 @xzhangxian1008
- 修复在导入大量数据后,TiFlash 可能持续占用较高内存的问题 #9812 @CalvinNeo
- 修复
Tools
Backup & Restore (BR)
- 修复 BR 向 TiKV 发送请求时收到
rpcClient is idle
错误导致恢复失败的问题 #58845 @Tristan1900 - 修复使用
br log status --json
查询日志备份任务时,返回结果中缺少任务状态status
字段的问题 #57959 @Leavrth - 修复日志备份时 PD Leader I/O 延迟可能导致 checkpoint 延迟增加的问题 #58574 @YuJuncen
- 修复通过
tiup br restore
命令进行库表级别恢复时,遗漏检查目标集群中表是否已存在,可能会覆盖已有表的问题 #58168 @RidRisR - 修复日志备份在 advancer owner 切换时可能会异常进入暂停状态的问题 #58031 @3pointer
- 修复日志备份不能及时解决残留锁导致 Checkpoint 无法推进的问题 #57134 @3pointer
- 修复 BR 集成测试用例不稳定的问题,并新增用于模拟快照或者日志备份文件损坏的测试用例 #53835 @Leavrth
- 修复日志可能打印加密信息的问题 #57585 @kennytm
- 修复当集群存在大量表但实际数据量较小时,PITR 数据恢复任务可能出现
Information schema is out of date
报错的问题 #57743 @Tristan1900
- 修复 BR 向 TiKV 发送请求时收到
TiCDC
- 修复 TiCDC 在
RENAME TABLE
操作中使用了错误的表名进行过滤的问题 #11946 @wk989898 - 修复 TiCDC 通过 Avro 协议同步
default NULL
SQL 语句时报错的问题 #11994 @wk989898 - 修复 PD 缩容后 TiCDC 无法正确连接 PD 的问题 #12004 @lidezhu
- 修复 Changefeed 停止或删除后,Initial Scan 未被取消的问题 #11638 @3AceShowHand
- 修复当上游将一个新增的列的默认值从
NOT NULL
修改为NULL
后,下游默认值错误的问题 #12037 @wk989898 - 修复使用
--overwrite-checkpoint-ts
参数执行changefeed pause
命令可能导致 Changefeed 卡住的问题 #12055 @hongyunyan - 修复 TiCDC 同步
CREATE TABLE IF NOT EXISTS
或CREATE DATABASE IF NOT EXISTS
语句时可能出现 panic 的问题 #11839 @CharlesCheung96 - 修复同步
TRUNCATE TABLE
DDL 并且该表没有有效索引时,TiCDC 可能会报错的问题 #11765 @asddongmen - 修复 TiDB DDL owner 变更导致 DDL 任务的 schema 版本出现非递增时,TiCDC 错误丢弃 DDL 任务的问题 #11714 @wlwilliamx
- 修复在集群扩容出新的 TiKV 节点后 Changefeed 可能会卡住的问题 #11766 @lidezhu
- 修复由于 Sarama 客户端乱序重发消息导致 Kafka 消息乱序的问题 #11935 @3AceShowHand
- 修复 Puller 模块 Resolved TS 延迟监控显示不正确的问题 #11561 @wlwilliamx
- 修复 redo 模块无法正确上报错误的问题 #11744 @CharlesCheung96
- 修复 TiCDC 在
TiDB Data Migration (DM)
TiDB Lightning
Dumpling
- 修复当 Google Cloud Storage (GCS) 返回 503 错误时 Dumpling 未正确重试的问题 #56127 @OliverS929