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

    • Prepared Plan Cache 支持缓存 BatchPointGet 计划 #42125 @qw4990
    • Index Join 支持更多的 SQL 格式 #40505 @Yisaer
    • 将 Index Merge Reader 中的一些 Log 等级从 "info" 降低为 "debug" #41949 @yibin87
    • 优化带 Limit 的 Range 类型分区表的 distsql_concurrency 设置以降低查询延迟 #41480 @you06
  • TiFlash

    • 减少了 TiFlash 在读取过程中的任务调度对 CPU 的消耗 #6495 @JinheLin
    • 提升默认参数下 BR 和 TiDB Lightning 向 TiFlash 导入数据的性能 #7272 @breezewish
  • Tools

    • TiCDC

    • 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 IGNOREREPLACE 语句对不修改 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
  • 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)

      • 修复当 TiDB 集群不存在 PITR 备份任务时,resolve lock 频率过高的问题 #40759 @joccau
      • 修复了在 PITR 恢复过程中等待 split Region 重试的时间不足的问题 #42001 @joccau
    • 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
      • 修复同步数据时由于 UPDATEINSERT 语句乱序可能导致 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