兼容性变更
- 新增系统变量
tidb_ddl_reorg_max_write_speed
,用于限制加索引时 ingest 阶段速度的上限 #57156 @CbcWestwolf - TiKV 配置项
raft-client-queue-size
默认值从8192
修改为16384
#17101 @Connor1996
改进提升
- TiDB
- 当某个统计信息完全由 TopN 构成,且对应表的统计信息中修改行数不为 0 时,对于未命中 TopN 的等值条件,估算结果从 0 调整为 1 #47400 @terry1purcell
- TiKV
- 提升在 raft log 部署在独立磁盘情况下,磁盘出现故障时 TiKV 服务的 SLA #17884 @LykxSassinator
- 增加 peer 和 store 消息的 slow log #16600 @Connor1996
- 优化 TiKV 重启时由于需要等待应用之前的日志而造成访问延时抖动的情况,提升了 TiKV 的稳定性 #15874 @LykxSassinator
- TiFlash
- 降低 TiFlash 在开启 TLS 后因更新证书而导致 panic 的概率 #8535 @windtalker
- 提升聚簇索引表在后台回收过期数据的速度 #9529 @JaySon-Huang
- 优化在存算分离架构下,读节点从 S3 下载文件异常时的重试策略 #9695 @JinheLin
- Tools
错误修复
- TiDB
- 修复 DDL owner 节点切换后,无法按照切换前的进度继续执行 Reorg DDL 任务的问题 #56506 @tangenta
- 修复在非严格模式下 (
sql_mode = ''
) ,非法空值能被插入的问题 #56381 @joechenrh - 修复 Grafana 中 Stats Healthy Distribution 面板的数据可能错误的问题 #57176 @hawkingrei
- 修复当公共表表达式 (CTE) 有多个数据消费者时,如果某个消费者在未读取数据时就退出,可能导致非法内存访问的问题 #55881 @windtalker
- 修复集群从 v6.5 升级到 v7.5 或更高版本后,已有 TTL 任务执行意外频繁的问题 #56539 @lcwangchao
- 修复关闭
tidb_ttl_job_enable
变量后 TTL 任务未被取消的问题 #57404 @YangKeao - 修复 information schema 缓存未命中导致 stale read 查询延迟上升的问题 #53428 @crazycs520
- 修复由于 stale read 未对读操作的时间戳进行严格校验,导致 TSO 和真实物理时间存在偏移,有小概率影响事务一致性的问题 #56809 @MyonKeminta
- 修复通过
IMPORT INTO
导入数据后,AUTO_INCREMENT
字段没有正确设置的问题 #56476 @D3Hunter - 修复可能同时存在两个 DDL Owner 的问题 #54689 @joccau
- 修复 TTL 在未选用 TiKV 作为存储引擎时可能失败的问题 #56402 @YangKeao
- 修复执行
ADD INDEX
时,未检查索引长度限制的问题 #56930 @fzzf678 - 修复取消 TTL 任务时,没有强制 Kill 对应 SQL 的问题 #56511 @lcwangchao
- 修复无法为带别名的多表删除语句
DELETE
创建执行计划绑定的问题 #56726 @hawkingrei - 修复使用
ANALYZE
收集表的统计信息时,如果该表包含虚拟生成列的表达式索引,执行会报错的问题 #57079 @hawkingrei - 修复使用
PLAN REPLAYER
导入含有 Placement Rule 的表结构时可能报错的问题 #54961 @hawkingrei - 修复在 CTE 中解析数据库名时,返回错误的数据库名的问题 #54582 @hawkingrei
- 修复
INSERT ... ON DUPLICATE KEY
语句不兼容mysql_insert_id
的问题 #55965 @tiancaiamao - 修复在某些情况下,元数据锁使用不当可能导致使用 plan cache 时写入异常数据的问题 #53634 @zimulala
- 修复使用全局排序添加索引时性能不稳定的问题 #54147 @tangenta
- 修复使用
PLAN REPLAYER
导入含有外键的表结构时可能报错的问题 #56456 @hawkingrei - 修复同时使用
RANGE COLUMNS
分区函数和utf8mb4_0900_ai_ci
排序规则时,查询结果错误的问题 #57261 @Defined2014 - 修复使用
NATURAL JOIN
或者USING
子句之后,再使用子查询可能会报错的问题 #53766 @dash12653 - 修复写冲突时 TTL 任务可能无法取消的问题 #56422 @YangKeao
- 修复如果 CTE 包含
ORDER BY
、LIMIT
、SELECT DISTINCT
子句,并且被另外一个 CTE 的递归部分所引用时,可能被错误地 inline 导致执行报错的问题 #56603 @elsa0520 - 修复
UPDATE
语句更新ENUM
类型的值时更新错误的问题 #56832 @xhebox - 修复执行
RECOVER TABLE BY JOB JOB_ID;
可能导致 panic 的问题 #55113 @crazycs520 - 修复当一个查询有索引合并 (Index Merge) 执行计划可用时,
read_from_storage
hint 可能不生效的问题 #56217 @AilinKid - 修复
INDEX_HASH_JOIN
在异常退出时可能卡住的问题 #54055 @wshwsh12 - 修复查询分布式执行框架相关的系统表可能导致升级异常的问题 #49263 @D3Hunter
- 修复 DDL 内部事务报错
GC life time is shorter than transaction duration
,导致添加索引失败的问题 #57043 @tangenta - 修复当执行
EXCHANGE PARTITION
遇到不合法的行时,导致 InfoSchema 全量加载并报错failed to load schema diff
的问题 #56685 @D3Hunter - 修复当
tidb_ddl_enable_fast_reorg
和new_collations_enabled_on_first_bootstrap
开启时,未正确处理排序规则,导致数据索引不一致的问题 #58036 @djshow832 - 修复添加索引期间,计划缓存使用了错误的 schema 导致数据索引不一致的问题 #56733 @wjhuang2016
- 修复在升级期间执行
ALTER TABLE TIFLASH REPLICA
导致 TiDB 节点宕机的问题 #57863 @tangenta - 修复
INFORMATION_SCHEMA.columns
查询性能下降的问题 #58184 @lance6716 - 修复查询 TiFlash 系统表中默认超时时间过短的问题 #57816 @JaySon-Huang
- 修复
default_collation_for_utf8mb4
变量的值没有对SET NAMES
语法生效的问题 #56439 @Defined2014 - 修复手动删除
mysql
.timer
表中的定时器时,TTL 内部协程可能 panic 的问题 #57112 @lcwangchao - 修复使用
ALTER TABLE
语句将普通表转换为分区表时,由于检查不充分可能导致数据出现错误的问题 #55721 @mjonss - 修复设置
tidb_gogc_tuner_max_value
和tidb_gogc_tuner_min_value
时,由于最大值为空导致出现错误的 warning 信息的问题 #57889 @hawkingrei - 修复 TiDB 内部协程可能出现数据竞争的问题 #57798 #56053 @fishiu @tiancaiamao
- 更新
golang-jwt
和jwt
以规避潜在的安全风险 #57135 @hawkingrei - 修复使用
ALTER TABLE
语句将聚簇索引表转换为分区表时,并发写入可能会导致重复数据的问题 #57510 @mjonss
- TiKV
- 修复 TiKV 处理 destroyed peer 时可能遇到的 panic 的问题 #17840 @glorv)
- 提升在 raft log 部署在独立磁盘情况下,磁盘出现故障时 TiKV 服务的 SLA #17884 @LykxSassinator
- 修复当
log-file
参数未指定时 jprof 的输出内容没有被正确捕获和处理的问题 #17607 @Hexilee - 修复在唤醒休眠 Region 时可能出现延迟上升的问题 #17101 @Connor1996
- 修复使用
RADIANS()
或DEGREES()
函数时可能导致 TiKV panic 的问题 #17852 @gengliqi - 修复读线程在从 Raft Engine 中的 MemTable 读取过时索引时出现的 panic 问题 #17383 @LykxSassinator
- 修复当大量事务在排队等待同一个 key 上的锁被释放且该 key 被频繁更新时,TiKV 可能因死锁检测压力过大而出现 OOM 的问题 #17394 @MyonKeminta
- 修复所有休眠的 Region 被集中唤醒时,可能导致写入抖动的问题 #17101 @hhwyt
- 修复巴西和埃及时区转换错误的问题 #16220 @overvenus
- 修复 Online Unsafe Recovery 时无法处理 merge abort 的问题 #15580 @v01dstar
- 修复 CPU profiling flag 在出现错误时没有正确重置的问题 #17234 @Connor1996
- 修复
raft-entry-max-size
设置过高时,写入 batch 可能过大引起性能抖动的问题 #17701 @SpadeA-Tang - 修复 import 模块的冲突检测接口由于错误处理不当可能导致 TiKV panic 的问题 #17830 @joccau
- PD
- 修复创建
evict-leader-scheduler
或grant-leader-scheduler
遇到错误时,未能将错误信息返回到 pd-ctl 的问题 #8759 @okJiang - 修复 etcd Leader 切换时 PD 不能快速重新选举的问题 #8823 @rleungx
- 修复 label 统计中的内存泄露问题 #8700 @lhy1024
- 修复
evict-leader-scheduler
在使用相同 Store ID 重复创建后无法正常工作的问题 #8756 @okJiang - 修复资源组 (Resource Group) 客户端中未完全删除的 slot 导致分配 token 低于给定值的问题 #7346 @guo-shaoge
- 修复在
evict-leader-scheduler
中使用了错误的参数后,PD 不能正确报错且导致部分 scheduler 不可用的问题 #8619 @rleungx - 修复热点缓存中可能存在的内存泄露问题 #8698 @lhy1024
- 修复频繁创建随机数生成器导致性能抖动的问题 #8674 @rleungx
- 修复创建
- TiFlash
- 修复在 TiDB 执行并发 DDL 遇到冲突时 TiFlash panic 的问题 #8578 @JaySon-Huang
- 修复当
LPAD()
和RPAD()
函数在某些情况下返回错误结果的问题 #9465 @guo-shaoge - 修复当
SUBSTRING()
函数的第二个参数为负数时,可能返回错误结果的问题 #9604 @guo-shaoge - 修复当表里含 Bit 类型列并且带有表示非法字符的默认值时,TiFlash 无法解析表 schema 的问题 #9461 @Lloyd-Pottiger
- 修复在存算分离架构下,对新增的列进行查询可能返回错误结果的问题 #9665 @zimulala
- Tools
- Backup & Restore (BR)
- 修复数据恢复失败后,使用断点重启报错
the target cluster is not fresh
的问题 #50232 @Leavrth - 修复日志备份不能及时解决残留锁导致 Checkpoint 无法推进的问题 #57134 @3pointer
- 修复日志可能打印加密信息的问题 #57585 @kennytm
- 修复测试用例
TestStoreRemoved
不稳定的问题 #52791 @YuJuncen - 升级
k8s.io/api
库的版本以修复潜在的安全漏洞 #57790 @BornChanger - 修复当集群存在大量表但实际数据量较小时,PITR 数据恢复任务可能出现
Information schema is out of date
报错的问题 #57743 @Tristan1900
- 修复数据恢复失败后,使用断点重启报错
- TiCDC
- 修复同步
TRUNCATE TABLE
DDL 并且该表没有有效索引时,TiCDC 可能会报错的问题 #11765 @asddongmen - 修复 Simple Protocol 消息中分区表的
tableID
未正确设置的问题 #11846 @3AceShowHand - 修复 redo 模块无法正确上报错误的问题 #11744 @CharlesCheung96
- 修复在
ignore-event
中设置了过滤掉add table partition
事件后,TiCDC 未将相关分区的其它类型 DML 变更事件同步到下游的问题 #10524 @CharlesCheung96 - 修复 TiDB DDL owner 变更导致 DDL 任务的 schema 版本出现非递增时,TiCDC 错误丢弃 DDL 任务的问题 #11714 @wlwilliamx
- 修复同步
- TiDB Data Migration (DM)
- TiDB Lightning
- 修复 TiDB Lightning 因 TiKV 发送的消息过大而接收失败的问题 #56114 @fishiu
- 修复使用物理导入模式导入数据后,
AUTO_INCREMENT
值设置过大的问题 #56814 @D3Hunter - 修复 TiDB Lightning 在更新任务元数据时遇到
Lock wait timeout
错误未自动重试的问题 #53042 @guoshouyan - 修复在高并发场景下,从云存储导入数据时性能下降的问题 #57413 @xuanyu66
- 修复在导入大量 Parquet 文件时,TiDB Lightning 可能会在导入的准备阶段长时间卡住的问题 #56104 @zeminzhou
- 修复使用 TiDB Lightning 导入数据时,错误报告输出被截断的问题 #58085 @lance6716
- Dumpling
- 修复当 Google Cloud Storage (GCS) 返回 503 错误时 Dumpling 未正确重试的问题 #56127 @OliverS929
- Backup & Restore (BR)