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
- 修复日志没有正确脱敏的问题 #59086 @ GMHDBJD
- 修复编码阶段因未缓存导致的性能回退问题 #56705 @ OliverS929
- 修复在高并发场景下,从云存储导入数据时性能下降的问题 #57413 @ xuanyu66
-
修复 TiDB Lightning 在更新任务元数据时遇到
Lock wait timeout
错误未自动重试的问题 #53042 @ guoshouyan - 修复 TiDB Lightning 因 TiKV 发送的消息过大而接收失败的问题 #56114 @ fishiu
- 修复使用 TiDB Lightning 导入数据时,错误报告输出被截断的问题 #58085 @ lance6716
-
Dumpling
- 修复当 Google Cloud Storage (GCS) 返回 503 错误时 Dumpling 未正确重试的问题 #56127 @ OliverS929
-