title: TiDB 4.0.6 Release Notes
TiDB 4.0.6 Release Notes
发版日期:2020 年 9 月 15 日
TiDB 版本:4.0.6
新功能
TiFlash
- 在 TiFlash 中支持在广播 Join 中使用外连接
TiDB Dashboard
Tools
TiCDC(自 v4.0.6 起,TiCDC 成为正式功能,可用于生产环境)
- 支持输出
maxwell
格式的数据 #869
- 支持输出
优化提升
TiDB
- 使用标准错误替换 TiDB 中的错误码和错误信息 #19888
- 提升分区表的写性能 #19649
- 在 Cop Runtime 统计信息中记录更多的 RPC Runtime 信息 #19264
- 禁止在
metrics_schema
和performance_schema
中创建表 #19792 - 支持调整 Union 执行算子的并发度 #19886
- 支持在广播 Join 中使用外连接 #19664
- 添加对 process list 的 digest #19829
- 对于自动提交语句的重试转换到悲观锁模式 #19796
- 在
Str_to_date
函数中支持%r
和%T
的数据格式 #19693 - 使
SELECT INTO OUTFILE
需要文件权限 #19577 - 支持
stddev_pop
函数 #19541 - 添加
TiDB-Runtime
面板 #19396 - 提升
ALTER TABLE ALGORITHMS
的兼容性 #19364 - 在慢日志的计划字段中加入编码好的
INSERT
/DELETED
/UPDATE
计划 #19269
TiKV
PD
TiFlash
- 在 Grafana 中添加关于数据同步 (
apply Region snapshots
和ingest SST files
) 的监控面板 - 在 Grafana 中添加关于
write stall
的监控面板 - 添加
dt_segment_force_merge_delta_rows
及dt_segment_force_merge_delta_deletes
用于调整阈值以避免write stall
发生 - 支持在 TiFlash-Proxy 中把
raftstore.snap-handle-pool-size
设为0
以禁用多线程同步 Region snapshot,可降低同步数据时内存消耗 - 在
https_port
及metrics_port
上支持 CN 检查
- 在 Grafana 中添加关于数据同步 (
Tools
Bug 修复
TiDB
- 修复了在 Metric Profile 中
tikv_cop_wait
time 的一个问题 #19881 - 修复了
SHOW GRANTS
显示错误结果的问题 #19834 - 修复了使用
!= ALL (subq)
查询结果不正确的问题 #19831 - 修复了转换
ENUM
和SET
类型的一个问题 #19778 - 增加了
SHOW STATS_META
、SHOW STATS_BUCKET
的一个权限检查 #19760 - 修复了由
builtinGreatestStringSig
和builtinLeastStringSig
引起的列长度不匹配问题 #19758 - 如果向量化计算抛出多余的 errors 或者 warnings,回退向量化执行到标量执行 #19749
- 修复了在相关列类型是
Bit
时Apply
算子出现错误的问题 #19692 - 修复了在 MySQL 8.0 客户端中查询 processlist 和 cluster_log 时出现的问题 #19690
- 修复了相同类型的 plan 具有不同类型的 plan digest 的错误 #19684
- 禁止从
Decimal
toInt
变更列类型 #19682 - 修复了
SELECT ... INTO OUTFILE
返回运行时错误的问题 #19672 - 修复了
builtinRealIsFalseSig
的不正确的实现 #19670 - 修复了分区表达式检查漏掉括号表达式的问题 #19614
- 修复了当在
HashJoin
上具有Apply
算子时的查询错误 #19611 - 修复了向量化将
Real
cast 成Time
类型时的错误的结果 #19594 - 修复了
SHOW GRANTS
可以显示不存在用户的 grants 信息的错误 #19588 - 修复了当在
IndexLookupJoin
上具有Apply
算子时的查询错误 #19566 - 修复了当在分区表上将
Apply
转化成HashJoin
时的错误结果 #19546 - 修复了当在
Apply
的 inner 端具有IndexLookUp
算子时的错误结果 #19508 - 修复了使用视图时非预期的 panic #19491
- 修复了
anti-semi-join
查询时的不正确结果 #19477 - 修复了删除统计信息时未删除 topN 的统计信息的错误 #19465
- 修复了因错误使用 batch point get 时产生的错误结果 #19460
- 修复了在带有虚拟生成列的
IndexLookupJoin
上无法找到列的错误 #19439 - 修复了在
SELECT
和UPDATE
查询上的不同计划比较 datum 的错误 #19403 - 修复了 TiFlash 在 Region cache 上产生的 work index 数据争用 #19362
- 修复了
logarithm
函数不返回 warning 的错误 #19291 - 修复了当使用 TiDB 落盘时产生的非预期错误 #19272
- 支持在 Index Join 的 inner 端使用单个分区表 #19197
- 修复了对 decimal 产生的错误的 hash 键值 #19188
- 修复了当 table EndKey 和 Region EndKey 相同时 TiDB 会产生 no regions 的错误 #19895
- 修复了
alter partition
的非预期成功 #19891 - 修复了在下推表达式上,默认最大允许的包长的错误 #19876
- 修复了在
ENUM
/SET
列上Max
/Min
函数的错误行为 #19869 - 修复了当部分 TiFlash 节点下线之后,
tiflash_segments
和tiflash_tables
系统表读取失败的问题 #19748 - 修复了
Count()
聚集函数的错误结果 #19628 - 修复了
TRUNCATE
操作的运行时错误 #19445 - 修复了
PREPARE statement FROM @Var
语句在Var
包含大写字符时候会失败的错误 #19378 - 修复了在具有大写表名的表上修改 charset 会产生 panic 的错误 #19302
- 修复了当在包含
tikv/tiflash
信息时,information_schema.statements_summary
和explain
计划的不一致性 #19159 - 修复了在测试中
select into outfile
出现文件不存在的错误 #19725 - 修复了
INFORMATION_SCHEMA.CLUSTER_HARDWARE
不含有 raid 设备信息的问题 #19457 - 修复一个问题,使具有
case-when
表达式生成列的索引添加操作在遇到 parse 错误时能够正常退出 #19395 - 修复 DDL 长时间重试的错误 #19488
- 修复错误,使
alter table db.t1 add constraint fk foreign key (c2) references t2(c1)
语句执行不需要先执行use db
#19471 - 修复使日志文件中 dispatch errors 从 Error 形式转变为 Info 信息 #19454
- 修复了在 Metric Profile 中
TiKV
PD
TiFlash
- 修复在更早版本中修改主键列名后,升级到 v4.0.4/v4.0.5 时 TiFlash 启动失败的问题
- 修复在修改列的 nullable 属性后访问数据可能抛异常的问题
- 修复在计算表同步状态时导致的崩溃问题
- 修复当用户进行一些不兼容的 DDL 操作后,读取 TiFlash 数据遇到异常的问题
- 修复从 TiDB 同步到不支持的 collation 时,抛出异常的问题
- 修复 Grafana 中 TiFlash coprocessor executor QPS 面板始终显示为 0 的问题
- 修复
FROM_UNIXTIME
函数遇到NULL
值时返回错误结果的问题
Tools
TiCDC
Backup & Restore (BR)
Dumpling
- 解决 binary 类型的
NULL
值没有被正确处理的问题 #137
- 解决 binary 类型的
TiDB Lightning