TiDB 5.3.1 Release Notes
TiDB 版本:5.3.1
Tools
TiDB Lightning
- 将 的默认值从 1_440_000 调整为 1_280_000,以避免数据导入后出现过多空 Region
TiDB
- 优化用户登录模式匹配的逻辑,增强与 MySQL 的兼容性
TiKV
-
- 优化
DR_STATE
文件内容的格式
- 优化
Tools
TiCDC
- 暴露 Kafka producer 配置参数,使之在 TiCDC 中可配置 #4385
- 当指定 S3 为存储后端时,在 TiCDC 启动前增加预清理逻辑
- TiCDC 客户端能在未指定证书名的情况下工作 #3627
- 修复因 checkpoint 不准确导致的潜在的数据丢失问题
- 为 changefeed 重启操作添加指数退避机制 #3329
- 将 Kafka Sink
partition-num
的默认值改为 3,使 TiCDC 更加平均地分发消息到各个 Kafka partition - 减少 “EventFeed retry rate limited” 日志的数量 #4006
- 将
max-message-bytes
默认值设置为 10M - 增加更多 Promethous 和 Grafana 监控告警参数,包括
no owner alert
、mounter row
、table sink total row
和buffer sink total row
#4054 - 减少 TiKV 节点宕机后 KV client 恢复的时间 #3191
TiDB Lightning
- 优化了本地磁盘空间检查失败时前置检查的提示信息
TiDB
- 修复 date_format 对
'\n'
的处理与 MySQL 不兼容的问题 - 修复
alter column set default
错误地修改表定义的问题 #31074 - 修复开启
tidb_restricted_read_only
后tidb_super_read_only
没有自动开启的问题 - 修复带有 collation 的
greatest
或least
函数结果出错的问题 #31789 - 修复执行查询时报 MPP task list 为空错误的问题
- 修复 innerWorker panic 导致的 index join 结果错误的问题 #31494
- 修复将
FLOAT
列改为DOUBLE
列后查询结果有误的问题 - 修复查询时用到 index lookup join 导致
invalid transaction
报错的问题 #30468 - 修复针对 的优化导致查询结果有误的问题
- 修复
MaxDays
和MaxBackups
配置项对慢日志不生效的问题 #25716
- 修复 date_format 对
TiKV
- 修复 Peer 状态为 Applying 时快照文件被删除会造成 Panic 的问题
- 修复开启流量控制且显式设置
level0_slowdown_trigger
时出现 QPS 下降的问题 #11424 - 修复 cgroup controller 没有被挂载会造成 Panic 的问题
- 修复 TiKV 停止后 Resolved TS 延迟会增加的问题 #11351
- 修复 GC worker 繁忙后无法执行范围删除(即执行
unsafe_destroy_range
参数)的问题 - 修复删除 Peer 可能造成高延迟的问题 #10210
- 修复 Region 没有数据时
any_value
函数结果错误的问题 - 修复删除未初始化的副本可能会造成旧副本被重新创建的问题 #10533
- 修复在已完成重新选举但没有通知被隔离的 Peer 的情况下执行
Prepare Merge
会导致元数据损坏的问题 - 修复协程的执行速度太快时偶尔出现的死锁问题 #11549
- 修复某个 TiKV 节点停机会导致 Resolved Timestamp 进度落后的问题
- 修复 Raft client 中 batch 消息过大的问题 #9714
- 修复在极端情况下同时进行 Region Merge、ConfChange 和 Snapshot 时,TiKV 会出现 Panic 的问题
- 修复逆序扫表时 TiKV 无法正确读到内存锁的问题 #11440
- 修复当达到磁盘容量满时 RocksDB flush 或 compaction 导致的 panic
- 修复 tikv-ctl 无法正确输出 Region 相关信息的问题 #11393
- 修复 TiKV 监控项中实例级别 gRPC 的平均延迟时间不准确的问题
TiFlash
- 修复
cast(arg as decimal(x,y))
在入参arg
大于decimal(x,y)
的表示范围时,计算结果出错的问题 - 修复开启
max_memory_usage
和max_memory_usage_for_all_queries
配置项时,TiFlash 崩溃的问题 - 修复
cast(string as real)
在部分场景下计算结果出错的问题 - 修复
cast(string as decimal)
在部分场景下计算结果出错的问题 - 修复在把主键列类型修改为一个范围更大的整型类型时,数据索引可能不一致的问题
- 修复
in
表达式在形如(arg0, arg1) in (x,y)
的多个参数的情况下计算结果出错的问题 - 修复当 MPP 查询被终止时,TiFlash 偶发的崩溃问题
- 修复 函数在入参以 0 开头时,计算结果出错的问题
- 修复当查询的过滤条件形如
where <string>
时,计算结果出错的问题 - 修复
cast(string as datetime)
在入参形如%Y-%m-%d\n%H:%i:%s
时,查询结果出错的问题
- 修复
Tools
Backup & Restore (BR)
- 修复当恢复完成后,Region 有可能分布不均的问题
TiCDC
- 修复了 TiCDC 进程在 PD leader 被杀死时的异常退出问题 #4248
- 修复了 UPDATE 语句在安全模式下执行错误会导致 DM 进程挂掉的问题
- 修复
cached region
监控指标为负数的问题 #4300 - 修复了 HTTP API 在查询的组件不存在时导致 CDC 挂掉的问题
- 修复了移除一个暂停的同步时,CDC Redo Log 无法被正确清理的问题 #4740
- 修复在容器环境中 OOM 的问题
- 修复了停止加载中的任务会导致它被意外调度的问题 #3771
- 纠正了在 Loader 上使用
query-status
命令查询到错误的进度的问题 - 修复了 HTTP API 在集群中存在不同版本 TiCDC 节点时无法正常工作的问题 #3483
- 修复了当 TiCDC Redo Log 配置在 S3 存储上时 TiCDC 异常退出问题
- 修复不支持同步默认值的问题 #3793
- 修复 MySQL sink 在禁用
batch-replace-enable
参数时生成重复replace
SQL 语句的错误 - 修复部分 syncer metrics 只有在查询状态时才得以更新的问题 #4281
- 修复当 Kafka 为下游时
txn_batch_size
监控指标数据不准确的问题 - 修复当
min.insync.replicas
小于replication-factor
时不能同步的问题 #3994 - 修复当 Kafka 为下游时
txn_batch_size
监控指标数据不准确的问题 - 修复在移除同步任务后潜在的 panic 问题 #3128
- 修复潜在的同步流控死锁问题
- 修复人为删除 etcd 任务的状态时导致 TiCDC panic 的问题 #2980
- 修复 DDL 特殊注释导致的同步停止的问题
- Kafka sink 模块添加默认的元数据获取超时时间配置 (
config.Metadata.Timeout
) #3352 - 修复
cdc server
命令在 Red Hat Enterprise Linux 系统的部分版本(如 6.8、6.9 等)上运行时出现时区错误的问题 - 修复集群升级后
stopped
状态的 changefeed 自动恢复的问题 #3473 - 修复不支持同步默认值的问题
- 修复 MySQL sink 模块出现死锁时告警过于频繁的问题 #2706
- 修复 Canal 和 Maxwell 协议下 TiCDC 没有自动开启
enable-old-value
选项的问题 - 修复 Avro sink 模块不支持解析 JSON 类型列的问题 #3624
- 修复监控 checkpoint lag 出现负值的问题
TiDB Data Migration (DM)
-
- 修复在某些导入操作没有包含源文件时,TiDB Lightning 不会删除 metadata schema 的问题
- 修复存储 URL 前缀为 “gs://xxx” 而不是 “gcs://xxx” 时,TiDB Lightning 报错的问题 #32742
- 修复 S3 存储路径不存在时 TiDB Lightning 不报错的问题