TiDB 5.1.4 Release Notes
TiDB 版本:5.1.4
TiDB
Tools
TiCDC
- 将
max-message-bytes
默认值设置为 10M
- 将
TiDB
- 支持在 Range 类型分区表中对
IN
表达式进行分区裁剪 - 提高在
IndexJoin
执行过程中追踪内存占用的准确度 #28650
- 支持在 Range 类型分区表中对
TiKV
- 将 proc filesystem (procfs) 升级至 0.12.0 版本
- 优化 Raft client 错误日志的收集 #11959
- 将插入 SST 文件时的校验操作从 Apply 线程池移动到 Import 线程池,从而提高 SST 文件的插入速度
-
- 优化调度器退出的速度 #4146
TiFlash
- 添加
ADDDATE()
和DATE_ADD()
到 TiFlash 的下推支持 - 添加
INET6_ATON()
和INET6_NTOA()
到 TiFlash 的下推支持 - 添加
INET_ATON()
和INET_NTOA()
到 TiFlash 的下推支持 - 把 DAG Request 中表达式或者执行计划树的最大深度限制从 100 提升到 200
- 添加
Tools
TiCDC
- 为 changefeed 重启操作添加指数退避机制
- 降低在同步大量表时的同步延时 #3900
- 增加观察 incremental scan 剩余时间的指标
- 减少 “EventFeed retry rate limited” 日志的数量 #4006
- 增加更多 Promethous 和 Grafana 监控告警参数,包括
no owner alert
、mounter row
、table sink total row
和buffer sink total row
#1606 - 优化 TiKV 重新加载时的速率限制控制,缓解 changefeed 初始化时 gPRC 的拥堵问题
- 减少 TiKV 节点宕机后 KV client 恢复的时间 #3191
TiDB
- 修复当系统变量
@@tidb_analyze_version = 2
时出现的内存泄露问题 #32499 - 修复
MaxDays
和MaxBackups
配置项对慢日志不生效的问题 - 修复
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
语句 panic 的问题 #28078 - 修复使用
ENUM
类型的列进行 Join 时结果可能不正确的问题 - 修复 INDEX HASH JOIN 报 的问题 #31129
- 修复使用 API 时,少数情况下 TiDB 数据请求无法及时发送到 TiKV 的问题 #32500
- 修复乐观事务下数据索引可能不一致的问题
- 修复窗口函数在使用事务时,计算结果与不使用事务时的计算结果不一致的问题 #29947
- 修复将
Decimal
转为String
时长度信息错误的问题 - 修复在某些情况下优化器可能缓存无效
join
计划的问题 #28087 - 修复向量化表达式设置为
on
时,microsecond
和hour
函数返回结果可能不正确的问题 #28643 - 修复在某些场景下执行
ALTER TABLE.. ADD INDEX
语句时 TiDB panic 的问题 - 修复 MPP 节点的可用性检测在某些边界场景中无法工作的问题 #3118
- 修复分配
MPP task ID
时出现DATA RACE
的问题 - 修复删除空的
dual table
后 MPP 查询出现index out of range
报错的问题 #28250 - 修复运行 MPP 查询时出现
invalid cop task execution summaries length
相关日志的问题 - 修复 SET GLOBAL tidb_skip_isolation_level_check=1 无法在新会话中生效的问题 #27897
- 修复当系统变量
TiKV
- 修复 GC worker 繁忙后无法执行范围删除(即执行
unsafe_destroy_range
参数)的问题 - 修复删除 Peer 可能造成高延迟的问题 #10210
- 修复 Region 没有数据时
any_value
函数结果错误的问题 - 修复删除未初始化的副本可能会造成旧副本被重新创建的问题 #10533
- 修复在已完成重新选举但没有通知被隔离的 Peer 的情况下执行
Prepare Merge
会导致元数据损坏的问题 - 修复协程的执行速度太快时偶尔出现的死锁问题 #11549
- 修复分析火焰图时潜在的死锁和内存泄漏的问题
- 修复悲观事务中 prewrite 请求重试在极少数情况下影响数据一致性的风险 #11187
- 修复
resource-metering.enabled
配置不生效的问题 - 修复
resolved_ts
中协程泄漏的问题 #10965 - 修复在低写入流量下误报 “GC can not work” 错误的问题
- 修复 tikv-ctl 无法正确输出 Region 相关信息的问题 #11393
- 修复某个 TiKV 节点停机会导致 Resolved Timestamp 进度落后的问题
- 修复在极端情况下同时进行 Region Merge、ConfChange 和 Snapshot 时,TiKV 会出现 Panic 的问题 #11475
- 修复逆序扫表时 TiKV 无法正确读到内存锁的问题
- 修复 Decimal 除法计算的结果为 0 时符号为负的问题 #29586
- 修复因统计线程监控数据导致的内存泄漏
- 修复在缺失下游数据库时出现 TiCDC Panic 的问题 #11123
- 修复因 Congest 错误而导致的 TiCDC 频繁增加 scan 重试的问题
- 修复 Raft client 中 batch 消息过大的问题 #9714
- 折叠了 Grafana Dashboard 中与 Storage 相关的不常用的监控指标
- 修复 GC worker 繁忙后无法执行范围删除(即执行
PD
-
- 修复
str_to_date()
函数对微秒前导零的错误解析 - 修复启用内存限制后 TiFlash 崩溃的问题
- 修复输入早于 1970-01-01 00:00:01 UTC 时,
unix_timestamp
行为与 TiDB/MySQL 不一致的问题 - 修复 Decimal 类型比较时可能出现的数据溢出问题和
Can't compare
报错 - 修复非预期的
3rd arguments of function substringUTF8 must be constants.
报错 - 修复在没有
nsl
库的平台上 TiFlash 无法启动的问题 - 修复 Decimal 类型转换时的数据溢出问题
- 修复在 TiFlash 与 TiDB/TiKV 之间
castStringAsReal
行为不一致的问题 - 修复 TiFlash 重启时偶发的
EstablishMPPConnection
错误 - 修复当设置 TiFlash 副本数为 0(即删除数据)后数据无法回收的问题
- 修复在 TiFlash 与 TiDB/TiKV 之间
CastStringAsDecimal
行为不一致的问题 - 修复
where <string>
查询结果出错的问题 - 修复当 MPP 查询被终止时,TiFlash 偶发的崩溃问题
- 修复非预期的
Unexpected type of column: Nullable(Nothing)
报错
- 修复
Tools
TiCDC
- 修复 MySQL sink 在禁用
batch-replace-enable
参数时生成重复replace
SQL 语句的错误 - 修复
cached region
监控指标为负数的问题 #4300 - 修复当
min.insync.replicas
小于replication-factor
时不能同步的问题 - 修复在移除同步任务后潜在的 panic 问题 #3128
- 修复因 checkpoint 不准确导致的潜在的数据丢失问题
- 修复潜在的同步流控死锁问题 #4055
- 修复 DDL 特殊注释导致的同步停止的问题
- 修复 EtcdWorker 可能阻塞 owner 和 processor 的问题 #3750
- 修复集群升级后
stopped
状态的 changefeed 自动恢复的问题 - 修复不支持同步默认值的问题 #3793
- 修复 TiCDC 默认值填充异常导致的数据不一致问题 #3929
- 修复当 PD leader 故障后转移到其他节点时 owner 卡住的问题
- 修复人为删除 etcd 任务的状态时导致 TiCDC panic 的问题 #2980
- 修复在某些 RHEL 发行版上因时区问题导致服务无法启动的问题
- 修复 MySQL sink 模块出现死锁时告警过于频繁的问题 #2706
- 修复 Canal 和 Maxwell 协议下 TiCDC 没有自动开启
enable-old-value
选项的问题 - 修复 Avro sink 模块不支持解析 JSON 类型列的问题 #3624
- 修复监控 checkpoint lag 出现负值的问题
- 修复在容器环境中 OOM 的问题 #1798
- 修复在多个 TiKV 崩溃或强制重启时可能遇到复制中断的问题
- 修复执行 DDL 后的内存泄漏的问题 #3174
- 修复当发生 ErrGCTTLExceeded 错误时,changefeed 不快速失败的问题
- 修复当上游 TiDB 实例意外退出时,TiCDC 同步任务推进可能停滞的问题 #3061
- 修复当 TiKV 向同一 Region 发送重复请求时,TiCDC 进程 Panic 的问题
- 将参数
max-message-bytes
的默认值设置为10M
,减少 Kafka 发送过大消息的概率 #3081 - 修复当写入 Kafka 消息发生错误时,TiCDC 同步任务推进可能停滞的问题
- 修复 MySQL sink 在禁用
Backup & Restore (BR)
- 修复当恢复完成后,Region 有可能分布不均的问题 #30425
TiDB Binlog
修复
strict-format
为true
且 CSV 文件大小为 256 MB 时,CSV 文件导入报 的问题 #27763