TiDB 6.5.6 Release Notes
发版日期:2023 年 12 月 7 日
TiDB 版本:6.5.6
兼容性变更
- 在安全增强模式 (SEM) 下禁止设置 require_secure_transport 为
ON
,避免用户无法连接的问题 #47665 @tiancaiamao - 引入系统变量 tidb_opt_enable_hash_join 控制是否选择表的哈希连接 #46695 @coderplay
- 经进一步的测试后,TiCDC Changefeed 配置项 case-sensitive 默认值由
true
改为false
,即默认情况下 TiCDC 配置文件中涉及的表名、库名大小写不敏感 #10047 @sdojjy - TiCDC Changefeed 新增以下配置项:
- sql-mode:你可以设置 TiCDC 同步数据时解析 DDL 语句所使用的 SQL 模式 #9876 @asddongmen
- encoding-worker-num 和 flush-worker-num:你可以根据不同的机器规格,设置 redo 模块不同的并发参数 #10048 @CharlesCheung96
- compression:你可以设置 redo log 文件的压缩行为 #10176 @sdojjy
- sink.cloud-storage-config:你可以设置同步数据到对象存储时自动清理历史数据的功能 #10109 @CharlesCheung96
改进提升
TiDB
- 新增支持 FLASHBACK CLUSTER TO TSO 语法 #48372 @BornChanger
TiKV
PD
Tools
Backup & Restore (BR)
TiCDC
- 支持通过在
sink-uri
中设置content-compatible=true
使 TiCDC Canal-JSON 兼容 Canal 官方输出的内容格式 #10106 @3AceShowHand - 优化同步
ADD INDEX
DDL 的执行逻辑,从而不阻塞后续的 DML 语句 #9644 @sdojjy - 减少 TiCDC 在做增量扫描时对上游 TiKV 的影响 #11390 @hicqu
- 支持通过在
错误修复
TiDB
- 修复 HashJoin 算子 Probe 时无法复用 chunk 的问题 #48082 @wshwsh12
- 修复
AUTO_ID_CACHE=1
时可能导致Duplicate entry
的问题 #46444 @tiancaiamao - 修复当 JOIN 两个子查询时执行
TIDB_INLJ
Hint 不生效的问题 #46160 @qw4990 - 修复 TiDB 重启后 DDL 操作可能卡住的问题 #46751 @wjhuang2016
- 修复由于 MDL 处理不正确可能导致 DDL 永久阻塞的问题 #46920 @wjhuang2016
- 修复
MERGE_JOIN
的结果错误的问题 #46580 @qw4990 - 修复 Sort 算子在落盘过程中可能导致 TiDB 崩溃的问题 #47538 @windtalker
- 修复
cast(col)=range
条件在 CAST 无精度损失的情况下会导致 FullScan 的问题 #45199 @AilinKid - 修复
client-go
中batch-client
panic 的问题 #47691 @crazycs520 - 禁止非整型聚簇索引进行 split table 操作 #47350 @tangenta
- 修复时间转换时 Prepared Plan Cache 与 Non-Prepared Plan Cache 的行为不兼容性的问题 #42439 @qw4990
- 修复了部分情况下空表无法使用 ingest 模式添加索引的问题 #39641 @tangenta
- 修复交换分区时,无法检测出不符合分区定义的数据的问题 #46492 @mjonss
- 修复
group_concat
无法解析ORDER BY
列的问题 #41986 @AilinKid - 修复深嵌套的表达式的 HashCode 重复计算导致的高内存占用和 OOM 问题 #42788 @AilinKid
- 修复 MPP 执行计划中通过 Union 下推 Aggregation 导致的结果错误 #45850 @AilinKid
- 修复
INDEX_LOOKUP_HASH_JOIN
内存使用量估算错误的问题 #47788 @SeaRise - 修复
plan replayer
生成的 zip 包无法被导入回 TiDB 的问题 #46474 @YangKeao - 修复当
LIMIT N
中的 N 过大时产生的错误代价估算 #43285 @qw4990 - 修复构造统计信息的 TopN 结构时可能发生的 panic 问题 #35948 @hi-rustin
- 修复 MPP 计算
COUNT(INT)
时结果可能出错的问题 #48643 @AilinKid - 修复
tidb_enable_ordered_result_mode
开启时可能发生 panic 的问题 #45044 @qw4990 - 修复优化器为减少窗口函数引入的 sort 而错误地选择了
IndexFullScan
的问题 #46177 @qw4990 - 修复谓词下推入公共表达式时结果可能出错的问题 #47881 @winoros
- 修复
UNION ALL
第一个子节点是 DUAL Table 时,执行可能报错的问题 #48755 @winoros - 修复列裁剪在特定情况下会导致 panic 的问题 #47331 @hi-rustin
- 修复当包含聚合或者窗口函数的公共表达式被其他递归公共表达式引用时,可能抛出语法错误的问题 #47603 #47711 @elsa0520
- 修复在 prepare 语句中使用
QB_NAME
hint 时可能执行异常的问题 #46817 @jackysp - 修复使用
AUTO_ID_CACHE=1
时 Goroutine 泄漏的问题 #46324 @tiancaiamao - 修复 TiDB 在关闭时可能 panic 的问题 #32110 @july2993
- 修复 TiDB schema cache 中读取 schema diff commit 版本时,未处理 MVCC 接口中的 lock 的问题 #48281 @cfzjywxk
- 修复表改名导致
information_schema.columns
中出现重复行的问题 #47064 @jiyfhust - 修复
LOAD DATA REPLACE INTO
语句的问题 #47995 @lance6716 - 修复 PD leader 故障 1 分钟导致
IMPORT INTO
任务失败的问题 #48307 @D3Hunter - 修复创建日期型字段索引导致
ADMIN CHECK
失败的问题 #47426 @tangenta - 修复
TABLESAMPLE
返回的行数据未排序的问题 #48253 @tangenta - 修复当 DDL
jobID
恢复为 0 时 TiDB 节点 panic 的问题 #46296 @jiyfhust
TiKV
- 修复在移动 Peer 时可能导致 Follower Read 性能变差的问题 #15468 @YuJuncen
- 修复 raftstore-applys 不断增长的数据错误 #15371 @Connor1996
- 修复有线上负载时,TiDB Lightning 的 Checksum Coprocessor 请求超时的问题 #15565 @lance6716
- 升级
lz4-sys
版本到 1.9.4 以修复安全问题 #15621 @SpadeA-Tang - 升级
tokio
版本到 6.5 以修复安全问题 #15621 @LykxSassinator - 移除存在安全问题的
flatbuffer
#15621 @tonyxuqqi - 修复在 TiKV store 分区时,resolved-ts 延时变长的问题 #15679 @hicqu
- 修复重启 TiKV 时,由于存在大量未 apply 的 Raft 日志导致的内存溢出问题 #15770 @overvenus
- 修复 Region 合并后,历史 peer 残留并阻塞 resolved-ts 的问题 #15919 @overvenus
- 修复云环境中 Grafana 中 scheduler 命令变量错误的问题 #15832 @Connor1996
- 修复 Titan
blob-run-mode
无法在线更新的问题 #15978 @tonyxuqqi - 修复 Region 元信息不一致导致的 TiKV panic 问题 #13311 @cfzjywxk
- 修复 Online Unsafe Recovery 在 leader 强制退出时 panic 的问题 #15629 @Connor1996
- 修复扩容时可能导致 DR Auto-Sync 的 joint state 超时问题 #15817 @Connor1996
- 修复 TiKV coprocessor 在移除 Raft peer 时可能返回陈旧数据的问题 #16069 @overvenus
- 修复 resolved-ts 可能被阻塞 2 小时的问题 #39130 @overvenus
- 修复在 Flashback 时遇到
notLeader
或regionNotFound
时卡住的问题 #15712 @HuSharp
PD
- 修复 Plugin 目录、文件内容可能存在安全隐患的问题 #7094 @HuSharp
- 修复修改隔离等级时未同步到默认放置规则中的问题 #7121 @rleungx
- 修复
evict-leader-scheduler
丢失配置的问题 #6897 @HuSharp - 修复空 Region 的统计方法可能导致 BR 恢复过程中 Region 不均衡的问题 #7148 @Cabinfever
- 修复采用自适应同步部署模式 (DR Auto-Sync) 的集群在 Placement Rule 的配置较复杂时,
canSync
和hasMajority
可能计算错误的问题 #7201 @disksing - 修复采用自适应同步部署模式 (DR Auto-Sync) 的集群
available_stores
计算错误的问题 #7221 @disksing - 修复采用自适应同步部署模式 (DR Auto-Sync) 的集群在从 AZ 宕机时主 AZ 不能添加 TiKV 节点的问题 #7218 @disksing
- 修复在大集群中添加多个 TiKV 节点可能导致 TiKV 心跳上报变慢或卡住的问题 #7248 @rleungx
- 修复当 TiKV 节点不可用时 PD 可能删除正常 Peers 的问题 #7249 @lhy1024
- 修复自适应同步部署模式 (DR Auto-Sync) 下 leader 切换时间过长的问题 #6988 @HuSharp
- 将 Gin Web Framework 的版本从 v1.8.1 升级到 v1.9.1 以修复部分安全问题 #7438 @niubell
TiFlash
- 修复 Grafana 的 Read Snapshots 面板上
max_snapshot_lifetime
监控指标显示有误的问题 #7713 @JaySon-Huang - 修复执行
ALTER TABLE ... EXCHANGE PARTITION ...
语句后 panic 的问题 #8372 @JaySon-Huang - 修复 MemoryTracker 提供的内存使用数据不准确的问题 #8128 @JinheLin
- 修复 Grafana 的 Read Snapshots 面板上
Tools
Backup & Restore (BR)
- 修复大宽表场景下,日志备份在某些场景中可能卡住的问题 #15714 @YuJuncen
- 修复频繁 Flush 导致日志部分卡死的问题 #15602 @3pointer
- 修复在 EC2 metadata 连接被重置后,重试导致备份恢复性能下降的问题 #47650 @Leavrth
- 修复 1 分钟之内多次执行 PITR 可能导致数据丢失的问题 #15483 @YuJuncen
- 修复由于 BR SQL 命令和 CLI 的默认参数不同可能导致的 OOM 问题 #48000 @YuJuncen
- 修复 PD Owner 转移时,日志备份可能 panic 的问题 #47533 @YuJuncen
- 修复生成外部存储文件 URI 错误的问题 #48452 @3AceShowHand
TiCDC
- 修复上游在执行有损 DDL 时,TiCDC Server 可能 panic 的问题 #9739 @hicqu
- 修复在开启 redo log 功能后,执行
RESUME
时同步任务报错的问题 #9769 @hicqu - 修复 TiKV 节点 crash 时,同步延迟变长的问题 #9741 @sdojjy
- 修复同步数据到 TiDB 或 MySQL 时,
WHERE
语句没有采用主键作为条件的问题 #9988 @asddongmen - 修复同步任务在 TiCDC 节点分配不均衡的问题 #9839 @3AceShowHand
- 修复 redo log 开启时,DDL 同步时间间隔过长的问题 #9960 @CharlesCheung96
- 修复开启双向复制时,
DROP
一张表后再重新CREATE
该表,Changefeed 无法同步 DML 事件的问题 #10079 @asddongmen - 修复同步数据到对象存储时,NFS 文件过多导致同步延迟变长的问题 #10041 @CharlesCheung96
- 修复同步数据到对象存储时,可能会出现 TiCDC Server panic 的问题 #10137 @sdojjy
- 修复 PD 做扩缩容场景下 TiCDC 访问无效旧地址的问题 #9584 @fubinzh @asddongmen
- 修复在某些特殊的操作系统下,获取错误内存信息可能导致 OOM 的问题 #9762 @sdojjy
TiDB Data Migration (DM)
TiDB Lightning
TiDB Binlog