title: TiDB 4.0.11 Release Notes
TiDB 4.0.11 Release Notes
发版日期:2021 年 2 月 26 日
TiDB 版本:4.0.11
新功能
TiDB
- 支持
uft8_unicode_ci
和utf8mb4_unicode_ci
排序规则 #22558
- 支持
TiKV
TiFlash
- 增加排队处理 Coprocessor 任务的线程池以降低内存溢出几率,并增加配置项
cop_pool_size
和batch_cop_pool_size
,默认值为物理核数 * 2
- 增加排队处理 Coprocessor 任务的线程池以降低内存溢出几率,并增加配置项
改进提升
TiDB
TiKV
PD
- Grafana dashboards 支持监控多个集群 #3398
TiFlash
- 优化
date_format
函数的性能 - 优化处理 ingest SST 时的内存开销
- 优化 Batch Coprocessor 内部的重试逻辑以降低 Region error 的出现概率
- 优化
Tools
Bug 修复
TiDB
- 修复异常的
unicode_ci
常数传递 #22614 - 修复可能导致排序规则和 coercibility 错误的问题 #22602
- 修复可能导致错误排序规则结果的问题 #22599
- 修复不同排序规则的常数替换问题 #22582
- 修复
like
函数使用排序规则时可能返回错误结果的问题 #22531 - 修复
least
和greatest
函数duration
类型推导错误问题 #22580 - 修复
like
函数处理_
宽字符后加%
出错的问题 #22575 - 修复比较函数
least
和greatest
类型推导错误的问题 #22562 - 修复使用
like
函数处理 Unicode 字符串错误的问题 #22529 - 修复点查请求无法取得
@@tidb_snapshot
变量中快照的问题 #22527 - 修复生成多个 join 相关 hint 可能 panic 的问题 #22518
- 修复转换字符串为
BIT
类型不准确的问题 #22420 - 修复插入
tidb_rowid
列时出现的index out of range
报错问题 #22359 - 修复缓存计划被错误地使用的问题 #22353
- 修复
WEIGHT_STRING
函数处理过长字符串出现 panic 的问题 #22332 - 禁止参数数量不合法时使用生成列 #22174
- 在构造执行计划前正确地设置进程执行信息 #22148
- 修复
IndexLookUp
执行统计不准的问题 #22136 - 容器部署时为内存使用信息增加缓存 #22116
- 修复解码执行计划错误的问题 #22022
- 使用错误的窗口函数说明时提供报错 #21976
- 使用
PREPARE
语句嵌套EXECUTE
、DEALLOCATE
或PREPARE
时报错 #21972 - 修复使用
INSERT IGNORE
到不存在的分区时不报错的问题 #21971 - 统一
EXPLAIN
和 slow log 中的执行计划编码 #21964 - 修复聚合算子下 join 出现未知列的问题 #21957
- 修复
ceiling
函数中类型推导错误的问题 #21936 - 修复
Double
列忽略精度的问题 #21916 - 修复关联聚合在子查询中被计算的问题 #21877
- 当 JSON 数据长度超过 65536 时提供报错 #21870
- 修复
dyname
函数和 MySQL 不兼容的问题 #21850 - 修复输入数据过长时
to_base64
函数返回NULL
的问题 #21813 - 修复在子查询中比较多个字段失败的问题 #21808
- 修复 JSON 中比较浮点数的问题 #21785
- 修复 JSON 类型比较的问题 #21718
- 修复
cast
函数的 coercibility 值设置错误的问题 #21714 - 修复使用
IF
函数时可能出现 panic 的问题 #21711 - 修复 JSON 搜索返回
NULL
和 MySQL 不兼容的问题 #21700 - 修复
ORDER BY
和HAVING
子句检查only_full_group_by
模式的问题 #21697 - 修复 Day/Time 单位和 MySQL 不兼容的问题 #21676
- 修复
LEAD
和LAG
函数默认值类型问题 #21665 LOAD DATA
时执行检测以保证只能往基础表中导入数据 #21638- 修复
addtime
和subtime
函数处理非法参数的问题 #21635 - 将近似值的舍入规则更改为“舍入到最接近的偶数” #21628
- 修复
WEEK()
在被明确读取前无法识别全局变量default_week_format
的问题 #21623
- 修复异常的
TiKV
- 修复当设置
PROST=1
时构建 TiKV 失败的问题 #9604 - 修复不匹配的内存诊断信息 #9589
- 修复在恢复 RawKV 数据时部分 key range 的 end key 的包含性问题 #9583
- 修复当 TiCDC 增量扫数据时读取一个被回滚的事务的某个 key 的旧值时 TiKV 可能会 panic 的问题 #9569
- 修复使用不同配置的连接拉取同一个 Region 的变更时旧值配置不匹配的问题 #9565
- 修复 TiVK 运行在网络接口缺少 MAC 地址的设备上会崩溃的问题(自 v4.0.9 引入)#9516
- 修复 TiKV 在备份大 Region 时会内存溢出的问题 #9448
- 修复
region-split-check-diff
无法自定义配置的问题 #9530 - 修复系统时间回退时 TiKV 会 panic 的问题 #9542
- 修复当设置
PD
TiFlash
- 修复 Decimal 类型的
min
/max
计算结果错误的问题 - 修复读取数据时有可能导致 crash 的问题
- 修复 DDL 操作后写入的数据可能会在 compaction 后丢失的问题
- 修复 Coprocessor 中错误解析 Decimal 常量的问题
- 修复 Learner Read 过程中可能导致 crash 的问题
- 修复 TiFlash 中除以
0
或NULL
的行为与 TiDB 不一致的问题
- 修复 Decimal 类型的
Tools
TiCDC
- 修复 TiCDC 服务在同时发生
ErrTaskStatusNotExists
和capture
会话关闭的情况下的非预期的退出的问题 #1240 - 修复
changefeed
之间不同 Old Value 设置会互相影响的问题 #1347 - 修复 TiCDC 服务在遇见错误的
sort-engine
参数时卡住的问题 #1309 - 修复在非 Owner 节点上获取 debug 信息退出的问题 #1349
- 修复
ticdc_processor_num_of_tables
和ticdc_processor_table_resolved_ts
两个监控指标在增删数据表时没有被正确更新的问题 #1351 - 修复 Processor 在添加同步数据表时退出而造成的潜在的数据丢失问题 #1363
- 修复 Owner 在数据表迁移期间造成非正常状态的 TiCDC 服务退出的问题 #1352
- 修复 TiCDC 服务在丢失 service GC safepoint 时没有及时退出的问题 #1367
- 修复 KV client 可能跳过创建 event feed 的问题 #1336
- 修复同步事务到下游时事务原子性被破坏的问题 #1375
- 修复 TiCDC 服务在同时发生
Backup & Restore (BR)
TiDB Lightning