TiDB 5.0.3 Release Notes
发版日期:2021 年 7 月 2 日
TiDB 版本:5.0.3
兼容性更改
-
TiDB
-
v4.0 集群升级到 v5.0 或更高版本(dev 和 v5.1)的集群后,
tidb_multi_statement_mode变量的默认值由WARN变为OFF - 兼容 MySQL 5.7 的 noop 变量
innodb_default_row_format,配置此变量无实际效果 #23541
功能增强
-
Tools
-
TiCDC
提升改进
-
TiDB
-
支持将
TopN算子下推到 TiFlash #25162 - 支持将内置函数
json_unquote()下推到 TiKV #24415 - 支持在 Dual 表上移除
Union算子的优化 #25614 - 支持将内置函数
replace()下推到 TiFlash #25565 - 支持将内置函数
unix_timestamp()、concat()、year()、day()、datediff()、datesub()、concat_ws()下推到 TiFlash #25564 - 优化聚合算子的代价常数 #25241
- 支持将
Limit算子下推到 TiFlash #25159 - 支持将内置函数
str_to_date()下推到 TiFlash #25148 - 允许 MPP outer join 根据表行数选择构建表 #25142
- 支持将内置函数
left()、right()、abs()下推到 TiFlash #25133 - 支持将 Broadcast Cartesian Join 下推到 TiFlash #25106
- 支持将
Union All算子下推到 TiFlash #25051 - 支持 MPP 查询任务按 Region 均衡到不同 TiFlash 节点上 #24724
- 支持执行 MPP 查询后将缓存中过时的 Region 无效化 #24432
- 提升内置函数
str_to_date在格式指定器中%b/%M/%r/%T的 MySQL 兼容性 #25767 -
TiKV
-
限制 TiCDC sink 的内存消耗 #10305
- 为 TiCDC old value 缓存增加基于内存使用量的上限 #10313
-
PD
-
将 TiDB Dashboard 升级至 v2021.06.15.1 #3798
-
TiFlash
-
支持将
STRING类型转换为DOUBLE类型 - 支持
STR_TO_DATE()函数 - 通过多线程优化右外连接中的非连接数据
- 支持笛卡尔积 Join
- 支持
LEFT()和RIGHT()函数 - 支持在 MPP 查询中自动清理过期的 Region 信息
- 支持
ABS()函数 -
Tools
-
TiCDC
Bug 修复
-
TiDB
-
修复在
SET类型列上 Merge Join 结果不正确的问题 #25669 - 修复
IN表达式参数的数据腐蚀问题 #25591 - 避免 GC 的 session 受全局变量的影响 #24976
- 修复了在窗口函数查询中使用
Limit时出现 panic 问题 #25344 - 修复查询分区表时使用
Limit返回错误值的问题 #24636 - 修复了
IFNULL在ENUM或SET类型上不能正确生效的问题 #24944 - 修复了 Join 子查询中的
count被改写为first_row导致结果不正确的问题 #24865 - 修复了
TopN算子下使用ParallelApply查询时卡住的问题 #24930 - 修复了使用含有多列的前缀索引查询时出现多余结果的问题 #24356
- 修复了操作符
<=>不能正确生效的问题 #24477 - 修复并行
Apply算子的数据竞争问题 #23280 - 修复对 PartitionUnion 算子的 IndexMerge 结果排序时出现
index out of range错误 #23919 - 修复
tidb_snapshot被允许设置为非预期的过大值,而可能造成事务隔离性被破坏的问题 #25680 - 修复 ODBC 类常数(例如
{d '2020-01-01'})不能被用作表达式的问题 #25531 - 修复
SELECT DISTINCT被转化为 Batch Get 而导致结果不正确的问题 #25320 - 修复无法触发将查询从 TiFlash 回退到 TiKV 的问题 #23665 #24421
- 修复在检查
only_full_group_by时的index-out-of-range错误 #23839 - 修复关联子查询中 Index Join 的结果不正确问题 #25799
-
TiKV
-
修复错误的
tikv_raftstore_hibernated_peer_state监控指标 #10330 - 修复 coprocessor 中
json_unquote()函数错误的参数类型 #10176 - 正常关机时跳过清理 Raftstore 的回调从而避免在某些情况下破坏事务的 ACID #10353 #10307
- 修复在 Leader 上 Replica Read 共享 Read Index 的问题 #10347
- 修复 coprocessor 转换
DOUBLE到DOUBLE的错误函数 #25200 -
PD
-
修复在 scheduler 启动之后,加载 TTL 配置产生的数据竞争问题 #3771
- 修复
is_learner字段在 TiDB 的TIKV_REGION_PEERS表中显示异常的问题 #3372 #24293 - 修复在一个 zone 内所有 TiKV 节点下线或宕机的情况下,PD 不往其他 zone 调度数据的问题 #3705
- 修复在添加 scatter range 调度器后导致 PD 挂掉的问题 #3762
-
TiFlash
-
修复因 split 失败而不断重启的问题
- 修复无法删除 Delta 历史数据的潜在问题
- 修复在
CAST函数中为非二进制字符串填充错误数据的问题 - 修复处理包含复杂
GROUP BY列的聚合查询时结果不正确的问题 - 修复写入压力过大时出现进程崩溃的问题
- 修复右连接键不为空且左连接键可为空时进程崩溃的问题
- 修复
read-index请求耗时长的潜在问题 - 修复读负载高的情况下进程崩溃的问题
- 修复
Date_Format函数在参数类型为STRING且包含NULL值时可能导致 TiFlash server 崩溃的问题 -
Tools
-
TiCDC
- 修复 TiCDC owner 在刷新 checkpoint 时异常退出的问题 #1902
- 修复写 MySQL 下游出错暂停时 MySQL 连接泄漏的问题 #1946
- 修复 TiCDC 读取
/proc/meminfo失败时出现的 panic 问题 #2024 - 减少 TiCDC 运行时的内存使用 #2012 #1958
- 修复 resolved ts 计算慢导致 TiCDC panic 的问题 #1576
- 修复 processor 潜在的死锁问题 #2142
-
Backup & Restore (BR)
- 修复在 Backup & Restore 数据恢复期间开启 TDE 会报出文件已存在的错误 #1179
-
TiDB Lightning
-
修复 TiDB Lightning 在特殊数据下 panic 的问题 #1213
- 修复 TiDB Lightning 导入大文件拆分时遇到的 EOF 报错问题 #1133
- 修复 TiDB Lightning 导入含
auto_increment的DOUBLE或FLOAT类型列的表时生成极大 base 值的问题 #1186 - 修复 TiDB Lightning 解析 Parquet 文件中
DECIMAL类型数据失败的问题 #1277
