TiDB 6.5.2 Release Notes
发版日期:2023 年 4 月 21 日
TiDB 版本:6.5.2
兼容性变更
TiCDC 修复了 Avro 编码
FLOAT
类型数据错误的问题 #8490 @3AceShowHand在升级 TiCDC 集群到 v6.5.2 或更高的 v6.5.x 版本时,如果使用 Avro 同步的表包含
FLOAT
类型数据,请在升级前手动调整 Confluent Schema Registry 的兼容性策略为None
,使 changefeed 能够成功更新 schema。否则,在升级之后 changefeed 将无法更新 schema 并进入错误状态。为了解决同步分区表到存储服务时可能丢数据的问题,TiCDC 配置项
sink.enable-partition-separator
默认值从false
修改为true
,代表默认会将表中各个分区的数据分不同的目录来存储。建议保持该配置项为true
以避免该问题。#8724 @CharlesCheung96
改进提升
TiDB
TiFlash
- 减少了 TiFlash 在读取过程中的任务调度对 CPU 的消耗 #6495 @JinheLin
- 提升默认参数下 BR 和 TiDB Lightning 向 TiFlash 导入数据的性能 #7272 @breezewish
Tools
TiCDC
- 发布 TiCDC Open API v2.0 #8743 @sdojjy
- 引入
gomemlimit
以防止 TiCDC 出现 OOM 问题 #8675 @amyangfei - 采用 multi-statement 的方式优化批量执行
UPDATE
场景下的同步性能 #8057 @amyangfei - 支持在 redo applier 中拆分事务以提升 apply 吞吐,降低灾难场景的 RTO #8318 @CharlesCheung96
- 支持在 redo log 里 apply DDL 事件 #8361 @CharlesCheung96
TiDB Lightning
错误修复
TiDB
- 修复缓存表执行新增列操作后,新增列值为
NULL
而非列的默认值的问题 #42928 @lqs - 修复分区特别多并且带有 TiFlash 副本的分区表在执行
TRUNCATE TABLE
时,出现写冲突导致 DDL 重试的问题 #42940 @mjonss - 修复对于执行中的
DROP TABLE
操作,ADMIN SHOW DDL JOBS
的结果中缺少表名的问题 #42268 @tiancaiamao - 修复读取 cgroup 信息出错导致 TiDB Server 无法启动的问题,报错信息为 "can't read file memory.stat from cgroup v1: open /sys/memory.stat no such file or directory" #42659 @hawkingrei
- 修复在分区表上执行修改列操作时,数据截断没有正确发出警告的问题 #24427 @mjonss
- 修复了生成执行计划过程中,因为获取的 InfoSchema 不一致而导致的 TiDB panic 的问题 #41622 @tiancaiamao
- 修复了使用 DDL 修改浮点类型时,保持长度不变且减少小数位后,旧数据仍然保持原样的问题 #41281 @zimulala
- 修复事务内执行 PointUpdate 之后,
SELECT
结果不正确的问题 #28011 @zyguan - 修复在使用 Cursor Fetch 且在 Execute、Fetch、Close 之间运行其它语句后,Fetch 与 Close 命令可能会返回错误结果或造成 TiDB Panic 的问题 #40094 @YangKeao
- 修复
INSERT IGNORE
和REPLACE
语句对不修改 value 的 key 没有加锁的问题 #42121 @zyguan - 修复 TiFlash 执行中遇到生成列会报错的问题 #40663 @guo-shaoge
- 修复当同一个 SQL 中出现多个不同的分区表时,TiDB 可能执行得到错误结果的问题 #42135 @mjonss
- 修复在开启 Prepared Plan Cache 的情况下,索引全表扫可能会报错的问题 #42150 @fzzf678
- 修复在开启 Prepared Plan Cache 时 Index Merge 可能得到错误结果的问题 #41828 @qw4990
- 修复了设置
max_prepared_stmt_count
不生效的问题 #39735 @xuyifangreeneyes - 修复全局内存控制可能错误地 Kill 内存使用量小于
tidb_server_memory_limit_sess_min_size
的 SQL 的问题 #42662 @XuHuaiyu - 修复分区表动态裁剪模式下 Index Join 可能导致 panic 的问题 #40596 @tiancaiamao
- 修复缓存表执行新增列操作后,新增列值为
TiKV
- 修复 TiKV 解析 cgroup path 没有正确解析
:
符号的问题 #14538 @SpadeA-Tang
- 修复 TiKV 解析 cgroup path 没有正确解析
PD
- 修复 PD 可能会非预期地向 Region 添加多个 Learner 的问题 #5786 @HunDunDM
- 修复了切换 Placement Rule 时可能存在的 leader 分布不均衡的问题 #6195 @bufferflies
TiFlash
- 修复 TiFlash 无法识别生成列的问题 #6801 @guo-shaoge
- 修复了 Decimal 除法在某些情况下最后一位未进位的问题 #7022 @LittleFall
- 修复了 Decimal 转换在某些情况下进位错误的问题 #6994 @windtalker
- 修复了开启 new collation 后 TopN/Sort 算子结果可能出错的问题 #6807 @xzhangxian1008
- 修复由于不兼容 TiCDC 导致 TiFlash 进程失败的问题 #7212 @hongyunyan
Tools
Backup & Restore (BR)
TiCDC
- 修复同步到对象存储时,partition 分隔符不生效问题 #8581 @CharlesCheung96 @hi-rustin
- 修复同步到对象存储时,表调度可能导致数据丢失的问题 #8256 @zhaoxinyu
- 修复不可重入的 DDL 导致同步卡住的问题 #8662 @hicqu
- 修复同步到对象存储时,TiCDC 扩缩容可能导致数据丢失的问题 #8666 @CharlesCheung96
- 修复在部分场景中
cgroup
的内存限制不生效问题 #8588 @amyangfei - 修复 Redo log 在 apply 时,特殊情况下出现数据丢失的问题 #8591 @CharlesCheung96
- 修复
db sorter
使用内存时未受cgroup memory limit
限制的问题 #8588 @amyangfei - 修复同步数据时由于
UPDATE
和INSERT
语句乱序可能导致Duplicate entry
错误的问题 #8597 @sdojjy - 修复由于 PD 和 TiCDC 之间的网络隔离引起 TiCDC 程序异常退出的问题 #8562 @overvenus
- 修复了 Kubernetes 上不能平滑升级 (graceful upgrade) TiCDC 集群的问题 #8484 @overvenus
- 修复了当所有 Kafka server 不可访问时会导致 TiCDC server panic 的问题 #8523 @3AceShowHand
- 修复了重启 changefeed 可能导致数据丢失或者 checkpoint 无法推进的问题 #8242 @overvenus