TiDB 5.3.2 Release Notes
发版日期:2022 年 6 月 29 日
TiDB 版本:5.3.2
警告
不建议使用 v5.3.2,因为该版本已知存在 bug,详情参见 #12934。该 bug 已在 v5.3.3 中修复,建议升级至 v5.3.3。
兼容性变更
提升改进
TiKV
Tools
Bug 修复
TiDB
- 修复了 Amazon S3 无法正确计算压缩数据大小的问题 #30534
- 修复乐观事务下数据索引可能不一致的问题 #30410
- 修复当 SQL 语句中存在 JSON 类型列与
CHAR
类型列连接时,SQL 出错的问题 #29401 - 如果发生网络连接问题,TiDB 并不总是能正确释放已断开会话所占有的资源。该修复可以确保 TiDB 回滚打开的事务以及释放其他相关资源。#34722
- 修复开启 TiDB Binlog 后插入重复数据导致
data and columnID count not match
错误的问题 #33608 - 修复在 RC 隔离情况下 Plan Cache 启用时可能导致查询结果错误的问题 #34447
- 修复了在 MySQL binary 协议下,当 schema 变更后,执行 prepared statement 会导致会话崩溃的问题 #33509
- 修复对于新加入的分区,表属性 (table attributes) 无法被检索到,以及分区更新后,表的 range 信息不会被更新的问题 #33929
- 修复了查询
INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
表导致 TiDB 服务器 OOM 的问题,在 Grafana dashboard 中查看慢查询记录的时候可能会触发该问题 #33893 - 修复集群的 PD 节点被替换后一些 DDL 语句会卡住一段时间的问题 #33908
- 修复了集群从 4.0 版本升级后,为用户授予
all
权限时报错的问题 #33588 - 修复使用 left join 同时删除多张表数据时可能出现错误结果的问题 #31321
- 修复 TiDB 可能向 TiFlash 发送重复任务的问题 #32814
- 修复 TiDB 的后台 HTTP 服务可能没有正确关闭导致集群状态异常的问题 #30571
- 修复 TiDB 由于
fatal error: concurrent map read and map write
发生崩溃的问题 #35340
TiKV
- 修复了 PD 客户端遇到报错时频繁重连的问题 #12345
- 修复了
DATETIME
类型的数据包含小数部分和Z
后缀导致检查报错的问题 #12739 - 修复了对空字符串进行类型转换导致 TiKV panic 的问题 #12673
- 修复了在悲观事务中使用 Async Commit 导致重复提交记录的问题 #12615
- 修复进行 Follower Read 时,可能会报
invalid store ID 0
错误的问题 #12478 - 修复销毁 peer 和批量分裂 Region 之间的竞争导致的 TiKV panic #12368
- 修复网络出现问题的情况下,已成功提交的乐观事务可能报
Write Conflict
错误的问题 #34066 - 修复待 merge 的 Region 无效会导致 TiKV panic 且非预期地销毁 peer 的问题 #12232
- 修复旧信息造成 TiKV panic 的问题 #12023
- 修复因内存统计指标溢出而造成的间歇性丢包和内存不足 (OOM) 的问题 #12160
- 修复在 Ubuntu 18.04 下进行性能分析会造成 TiKV panic 的问题 #9765
- 修复 tikv-ctl 对
bad-ssts
结果字符串进行错误匹配的问题 #12329 - 修复 replica read 可能违反线性一致性的问题 #12109
- 修复合并 Region 时因 target peer 被一个未进行初始化就被销毁的 peer 所替换,从而引起 TiKV panic 的问题 #12048
- 修复 TiKV 运行 2 年以上可能 panic 的问题 #11940
PD
- 修复由于 Hot Region 没有 leader 导致 PD Panic 的问题 #5005
- 修复 PD leader 转移后调度不能立即启动的问题 #4769
- 修复已清除的
tombstone store
信息在切换 PD leader 后再次出现的问题 #4941 - 修复在某些特殊情况下 TSO fallback 的问题 #4884
- 修复存在较大空间 Store 时(例如 2T),无法检测满的小空间 Store,从而无法进行平衡调度的问题 #4805
- 修复
SchedulerMaxWaitingOperator
设置为1
时不产生调度的问题 #4946 - 修复监控信息中已删除 label 的残留问题 #4825
TiFlash
- 修复错误地配置存储目录会导致非预期行为的问题 #4093
- 修复 TiFlash 节点上遗留了与 Region range 不匹配的数据的问题 #4414
- 修复在添加一些
NOT NULL
的列时报TiFlash_schema_error
的问题 #4596 - 修复由于
commit state jump backward
错误导致 TiFlash 反复崩溃的问题 #2576 - 修复大量 INSERT 和 DELETE 操作后可能导致 TiFlash 数据不一致的问题 #4956
- 修复启用本地隧道时取消 MPP 查询可能导致任务永远挂起的问题 #4229
- 修复 TiFlash 使用远程读时可能会误报集群 TiFlash 版本不一致的问题 #3713
- 修复 MPP query 会随机碰到 gRPC keepalive timeout 导致 query 失败的问题 #4662
- 修复 MPP exchange receiver 如果出现大量重试可能会导致 query hang 的问题 #3444
- 修复将
DATETIME
转换为DECIMAL
时结果错误的问题 #4151 - 修复将
FLOAT
类型转换为DECIMAL
类型可能造成溢出的问题 #3998 - 修复
json_length
对空字符串可能会报index out of bounds
错误的问题 #2705 - 修复极端情况下 decimal 比较结果可能有误的问题 #4512
- 修复在执行带有
JOIN
的查询遇到错误时可能被挂起的问题 #4195 - 修复查询语句包含
where <string>
时查询结果出错的问题 #3447 - 修复
CastStringAsReal
在 TiFlash 的行为与在 TiDB、TiKV 的行为不一致的问题 #3475 - 修复转换 string 类型为 datetime 类型时,
microsecond
结果可能不对的问题 #3556 - 修复查询存在大量 delete 操作的表时可能报错的问题 #4747
- 修复 TiFlash 随机报错 “Keepalive watchdog fired” 的问题 #4192
- 修复 TiFlash 节点上遗留了与 Region range 不匹配的数据的问题 #4414
- 修复 MPP 任务可能永远泄漏线程的问题 #4238
- 修复空 segments 在 GC 后无法合并的问题 #4511
- 修复启用 TLS 时可能导致的崩溃 #4196
- 修复过期数据回收缓慢的问题 #4146
- 修复错误地配置存储目录会导致非预期行为的问题 #4093
- 修复一些异常没有被正确地处理的问题 #4101
- 修复在读取工作量大时添加列后可能出现的查询错误 #3967
- 修复
STR_TO_DATE()
函数对微秒前导零的错误解析 #3557 - 修复 TiFlash 重启时偶发的
EstablishMPPConnection
错误 #3615
Tools
Backup & Restore (BR)
TiCDC
- 修复切换 owner 会导致其 metrics 数据不正确的问题 #4774
- 修复 redo log manager 提前 flush log 的问题 #5486
- 修复当一部分表没有被 redo writer 管理时 resolved ts 提前推进的问题 #5486
- 添加 UUID 作为 redo log file 的后缀以解决文件名冲突引起的数据丢失问题 #5486
- 修复 MySQL Sink 可能会保存错误的 checkpointTs 的问题 #5107
- 修复 TiCDC 集群升级后可能会 panic 的问题 #5266
- 修复在同一节点反复调入调出一张表可能会导致同步任务 (changefeed) 被卡住的问题 #4464
- 修复了在开启 TLS 后,
--pd
中设置的第一个 PD 不可用导致 TiCDC 无法启动的问题 #4777 - 修复当 PD 状态不正常时 OpenAPI 可能会卡住的问题 #4778
- 修复 Unified Sorter 的 workerpool 稳定性问题 #4447
- 修复某些情况下序列对象被错误同步的问题 #4552
TiDB Data Migration (DM)
TiDB Lightning