TiDB 6.5.10 Release Notes
发版日期:2024 年 6 月 20 日
TiDB 版本:6.5.10
兼容性变更
-
在之前的版本中,TiCDC 在处理包含
UPDATE变更的事务时,如果事件的主键或者非空唯一索引的列值发生改变,则会将该条事件拆分为DELETE和INSERT两条事件。从 v6.5.10 开始,当使用 MySQL Sink 时,如果UPDATE变更所在事务的commitTS小于对应表开始向下游同步数据时从 PD 获取的当前时间戳thresholdTS,TiCDC 就会将该UPDATE事件拆分为DELETE和INSERT两条事件,然后写入 Sorter 模块。该行为变更解决了由于 TiCDC 接收到的UPDATE事件顺序可能不正确,导致拆分后的DELETE和INSERT事件顺序也可能不正确,从而引发下游数据不一致的问题。更多信息,请参考 用户文档 。 #10918 @ lidezhu -
使用 TiDB Lightning 的严格格式
strict-format导入 CSV 文件时,必须设置行分隔符 #37338 @ lance6716
改进提升
-
TiDB
-
优化表达式默认值在
SHOW CREATE TABLE结果中的 MySQL 兼容性 #52939 @ CbcWestwolf - 在 MPP 负载均衡时移除不包含任何 Region 的 Store #52313 @ xzhangxian1008
-
优化表达式默认值在
-
TiKV
- 加快 TiKV 停机的速度 #16680 @ LykxSassinator
- 添加 CDC event 的等待处理时长监控指标,便于排查下游 CDC event 延迟问题 #16282 @ hicqu
-
Tools
-
Backup & Restore (BR)
-
TiCDC
- 支持当下游为消息队列 (Message Queue, MQ) 或存储服务时直接输出原始事件 #11211 @ CharlesCheung96
- 提升使用 redo log 恢复数据过程中的内存稳定性,减少 OOM 的概率 #10900 @ CharlesCheung96
- 显著提升事务冲突场景中的数据同步的稳定性,性能最高提升可达 10 倍 #10896 @ CharlesCheung96
-
错误修复
-
TiDB
- 修复统计信息初始化过程中对元数据的查询可能导致 OOM 的问题 #52219 @ hawkingrei
-
修复当表中包含
AUTO_ID_CACHE=1的自增列时,系统变量auto_increment_increment和auto_increment_offset配置为非默认值可能导致自增 ID 分配错误的问题 #52622 @ tiancaiamao -
修复通过
RESTORE语句恢复AUTO_ID_CACHE=1的表时,会遇到Duplicate entry报错的问题 #52680 @ tiancaiamao -
修复
INFORMATION_SCHEMA.TIDB_TRX表中STATE字段的size未定义导致STATE显示为空的问题 #53026 @ cfzjywxk -
修复创建带有外键的表时,TiDB 未创建对应的统计信息元信息 (
stats_meta) 的问题 #53652 @ hawkingrei - 修复在查询并发较高时,统计信息同步加载机制可能意外加载失败的问题 #52294 @ hawkingrei
-
修复分区表的全局统计信息中的
Distinct_count信息可能错误的问题 #53752 @ hawkingrei - 修复重启 TiDB 后,主键列统计信息中的直方图和 TopN 未被加载的问题 #37548 @ hawkingrei
-
修复查询中的某些过滤条件可能导致 planner 模块发生
invalid memory address or nil pointer dereference报错的问题 #53582 #53580 #53594 #53603 @ YangKeao -
修复使用
PREPARE/EXECUTE方式执行带CONV表达式的语句,且CONV表达式包含?参数时,多次执行可能导致查询结果错误的问题 #53505 @ qw4990 - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 #53767 @ hawkingrei
- 修复 information schema 缓存未命中导致 stale read 查询延迟上升的问题 #53428 @ crazycs520
- 修复 DDL 错误使用 etcd 导致任务排队的问题 #52335 @ wjhuang2016
-
修复执行
RENAME INDEX语句重命名表达式索引时,内部列未被重命名的问题 #51431 @ ywqzzy -
修复并发执行
CREATE OR REPLACE VIEW可能报错table doesn't exist的问题 #53673 @ tangenta - 修复 JOIN 条件包含隐式类型转换时 TiDB 可能 panic 的问题 #46556 @ qw4990
- 修复网络问题导致 DDL 卡住的问题 #47060 @ wjhuang2016
- 修复 IndexJoin 在 Left Outer Anti Semi 类型下计算哈希值时产生重复行的问题 #52902 @ yibin87
-
修复
ALL函数中包含子查询时可能会出现错误结果的问题 #52755 @ hawkingrei -
修复
TIMESTAMPADD()函数结果错误的问题 #41052 @ xzhangxian1008 -
修复启用
tidb_mem_quota_analyze时,更新统计信息使用的内存超过限制可能导致 TiDB crash 的问题 #52601 @ hawkingrei -
修复
UPDATEList 中包含子查询可能会导致 TiDB panic 的问题 #52687 @ winoros -
修复
Longlong类型在谓词中溢出的问题 #45783 @ hawkingrei - 修复添加唯一索引时并发 DML 导致数据索引不一致的问题 #52914 @ wjhuang2016
- 修复解析索引数据时可能发生 panic 的问题 #47115 @ zyguan
- 修复列裁剪未对数组进行浅拷贝可能导致 TiDB panic 的问题 #52768 @ winoros
- 修复在递归 CTE 中无法使用视图的问题 #49721 @ hawkingrei
-
修复
LEADINGhint 不支持查询块别名 (query block alias) 的问题 #44645 @ qw4990 - 修复关联子查询中 TopN 算子结果不正确的问题 #52777 @ yibin87
-
修复
UPDATE语句可能因为列的唯一 ID 不稳定导致查询报错的问题 #53236 @ winoros - 修复 TiDB 持续发送探活请求到已经下线的 TiFlash 节点的问题 #46602 @ zyguan
-
修复
YEAR类型的列与超出范围的无符号整数进行比较导致错误结果的问题 #50235 @ qw4990 -
修复在
AUTO_ID_CACHE=1时,AutoID Leader 发生变更可能造成自增列的值减少的问题 #52600 @ tiancaiamao -
修复非
BIGINT类型的无符号整数与STRING/DECIMAL比较时可能出现错误结果的问题 #41736 @ LittleFall -
修复将数据从
FLOAT类型转换为UNSIGNED类型时结果错误的问题 #41736 @ guo-shaoge -
修复
VAR_SAMP()无法作为窗口函数的问题 #52933 @ hi-rustin - 修复错误的 TableDual 计划导致查询结果为空的问题 #50051 @ onlyacat
-
修复 TiDB 统计信息同步加载机制无限重试加载空统计信息并打印
fail to get stats version for this histogram日志的问题 #52657 @ hawkingrei - 修复空 Projection 导致 TiDB panic 的问题 #49109 @ winoros
- 修复 TopN 算子可能被错误地下推的问题 #37986 @ qw4990
-
修复执行谓词总是为
true的SHOW ERRORS语句导致 TiDB panic 的问题 #46962 @ elsa0520 - 修复元数据锁在计划缓存场景下未能阻止 DDL 推进的问题 #51407 @ wjhuang2016
-
TiKV
- 修复某个 TiKV 节点 check-leader 慢导致其他 TiKV 节点 resolved-ts 无法正常推进的问题 #15999 @ crazycs520
-
修复查询中
CONV()函数在进行数制转换时可能 overflow 导致 TiKV panic 的问题 #16969 @ gengliqi - 修复测试用例不稳定的问题,确保每次测试都使用独立的临时目录,从而避免在线配置更改影响其他测试用例 #16871 @ glorv
-
修复
DECIMAL类型的小数部分在某些情况下不正确的问题 #16913 @ gengliqi - 修复由于过时的 Region peer 忽略 GC 消息导致 resolve-ts 被阻塞的问题 #16504 @ crazycs520
-
PD
-
TiFlash
-
修复跨数据库执行
ALTER TABLE ... EXCHANGE PARTITION后可能导致 TiFlash 同步 schema 失败的问题 #7296 @ JaySon-Huang - 修复 key range 为空的查询导致 TiFlash 上没有正确生成读取任务,从而可能阻塞 TiFlash 查询的问题 #9108 @ JinheLin
-
修复函数
SUBSTRING_INDEX()可能导致 TiFlash Crash 的问题 #9116 @ wshwsh12 - 修复从低于 v6.5.0 的集群升级到 v6.5.0 及以上版本后,可能出现 TiFlash 元数据损坏以及进程 panic 的问题 #9039 @ JaySon-Huang
- 修复 TiFlash 在高并发读的情况下,可能返回瞬时不正确结果的问题 #8845 @ JinheLin
-
修复跨数据库执行
-
Tools
-
Backup & Restore (BR)
-
修复测试用例
TestGetTSWithRetry执行时间过长的问题 #52547 @ Leavrth - 修复在 BR 恢复数据或 TiDB Lightning 物理导入模式下导入数据时,从 PD 获取到的 Region 没有 Leader 的问题 #51124 #50501 @ Leavrth
- 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 #52597 @ YuJuncen
- 修复日志备份在暂停、停止、再重建任务操作后,虽然任务状态显示正常,但 Checkpoint 不推进的问题 #53047 @ RidRisR
- 修复由于某个 TiKV 节点缺少 Leader 导致数据恢复变慢的问题 #50566 @ Leavrth
- 修复因 TiKV 重启,日志备份的 global checkpoint 推进提前于实际备份文件写入点,可能导致少量备份数据丢失的问题 #16809 @ YuJuncen
- 修复 PD leader 发生迁移可能导致恢复数据时 panic 的问题 #53724 @ Leavrth
- 修复恢复暂停的日志备份任务时,如果与 PD 的网络连接不稳定可能导致 TiKV panic 的问题 #17020 @ YuJuncen
- 修复日志备份在 advancer owner 发生迁移后可能被暂停的问题 #53561 @ RidRisR
- 修复在恢复过程中,由于多层重试导致 BR 无法正确识别错误的问题 #54053 @ RidRisR
-
修复测试用例
-
TiCDC
- 修复下游数据库密码以 Base64 编码时启用 Syncpoint 功能的 Changefeed 创建失败的问题 #10516 @ asddongmen
-
修复没有正确同步
DROP PRIMARY KEY和DROP UNIQUE KEY的问题 #10890 @ asddongmen -
修复
TIMEZONE类型的值没有按照正确的时区设置默认值的问题 #10931 @ 3AceShowHand
-
TiDB Lightning
-
修复 TiDB Lightning 导入数据时,kill PD Leader 会导致
invalid store ID 0报错的问题 #50501 @ Leavrth - 修复 TiDB Lightning Grafana 面板缺失数据的问题 #43357 @ lichunzhu
- 修复 TiDB Lightning 在服务器模式下可能会将敏感信息打印到日志中的问题 #36374 @ kennytm
-
修复使用 TiDB Lightning 导入同时设置了
SHARD_ROW_ID_BITS和AUTO_ID_CACHE=1的数据表后,无法生成自增 ID 并报错Failed to read auto-increment value from storage engine的问题 #52654 @ D3Hunter
-
修复 TiDB Lightning 导入数据时,kill PD Leader 会导致
-
Dumpling
-
TiDB Binlog
-