TiDB 3.0.1 Release Notes
- 新增对 特性的支持
- 新增
tidb_wait_split_region_finish_backoff
Session 变量,用于控制 Region 打散的 Backoff 时间 #11166 - 新增根据负载情况自动调整 Auto ID 分配的步长功能,步长自动调整范围最小 1000,最大 2000000
- 新增
ADMIN PLUGINS ENABLE
/ADMIN PLUGINS DISABLE
SQL 语句,管理 Plugin 的动态开启或关闭 #11157 - Audit Plugin 新增审计连接功能
- 修改 Region 打散时的默认行为为等待 PD 调度完成 #11166
- 禁止 Window Function 在 Prepare Plan Cache 中被缓存,避免某些情况下出现结果不正确的问题
- 禁止使用 Alter 语句修改 Stored Generated Column 的定义 #11068
- 禁止将 Virtual Generated Column 更改为 Stored Generated Column
- 禁止改变带有索引的 Generated Column 的表达式 #11068
- 支持 TiDB 在 ARM64 架构下的编译
- 支持修改 Database/Table 的 Collate,条件限制为 Database/Table 字符集必须是 UTF8/UTF8MB4 #11086
- 修复
UPDATE … SELECT
语句中,SELECT
子查询没有解析到UPDATE
表达式中的列而被误裁剪,导致报错的问题 - 修复点查时,某列被查询多次而且结果为 NULL 时会 Panic 的问题 #11226
- 修复
RAND
函数由于非线程安全的rand.Rand
导致的 Data Race 问题 - 修复 MemTracker 未正确清理统计的内存使用值导致
SHOW PROCESSLIST
显示内存使用不为 0 的问题 #10970 - 修复某些情况下整数和非整数比较结果不正确的问题
- 修复在显式事务中查询对 Table Partition 的查询包含谓词时,查询结果不正确的问题 #11196
- 修复 DDL Job 由于
infoHandle
可能为 导致 Panic 的问题 - 修复嵌套聚合查询时,由于被查询列在子查询中没有引用而被误裁剪导致查询结果错误的问题 #11020
- 修复
Sleep
函数响应 Kill 命令不及时的问题 - 修复
SHOW PROCESSLIST
命令显示的DB
和INFO
列与 MySQL 不兼容的问题 #11003 - 修复
skip-grant-table=true
时,FLUSH PRIVILEGES
语句导致系统 Panic 的问题 - 修复表主键为
UNSIGNED
整数时,FAST ANALYZE
收集主键的统计信息不正确的问题 #11099 - 修复某些情况下
FAST ANALYZE
语句报 “invalid key” Error 的问题 - 修复
CURRENT_TIMESTAMP
作为列的默认值且指定浮点精度时,SHOW CREATE TABLE
等语句显示精度不完整的问题 #11088 - 修复窗口函数报错时函数名没有小写的问题,兼容 MySQL
- 修复 TiKV Client Batch gRPC 的后台线程 panic 后导致 TiDB 无法正常连接 TiKV 进而无法提供服务的问题 #11101
- 修复 方法由于字符串浅拷贝导致设置的变量不正确的问题
- 修复
INSERT … ON DUPLICATE
语句作用在 Table Partition 时执行失败报错的问题 #11231 - 悲观锁(实验性特性)
- 修复悲观锁进行点查且数据为空时,由于行锁未生效导致结果不正确的问题
- 修复使用悲观锁查询时由于没有使用
SELECT … FOR UPDATE
的 TSO 导致查询结果不正确的问题 #11015 - 修改乐观锁与悲观锁同时使用时,乐观事务遇到悲观锁冲突时,检测行为由立即检测冲突修改为等待,防止锁冲突进一步恶化
- 统计信息中新增对 Blob 文件大小的统计
- 新增与 Titan 引擎相关的所有监控指标 #4772,
- 统计打开文件句柄数量时,新增 Titan 引擎打开文件句柄数量,防止因文件句柄数统计不准确导致系统无文件句柄可用的问题 #5026
- 通过设置
blob_run_mode
来决定是否在某个 CF 上启动 Titan 引擎 - 修复读操作读不到悲观事务 commit 信息的问题 #5067
- 新增
blob-run-mode
配置参数控制 Titan 引擎的运行模式,取值:normal、read-only、fallback - 提升死锁检测的性能 #5089
- 修复热点 Region 调度时,调度限制会自动调整为 0 的问题 #1552
- 新增
enable-grpc-gateway
的配置选项,用于开启 etcd 的 grpc gateway 功能 - 新增
store-balance-rate
、hot-region-schedule-limit
等与调度器配置相关的统计信息 #1601 - 优化热点 Region 调度策略,调度时跳过缺失副本的 Region,防止多个副本调度到同一个机房
- 优化 Region Merge 处理逻辑,优先 Merge Region Size 较小的 Region,提升 Region Merge 的速度 #1613
- 优化单次调度热点 Region 的限制值为 64,防止调度任务过多占用系统资源,影响性能
- 优化 Region 调度策略,新增优先调度 Pending 状态的 Region 功能 #1617
- 修复无法添加
random-merge
和admin-merge-region
operator 的问题 - 调整日志中输出 Region 中 Key 的格式为 16 进制,方便用户查看 #1639
- 优化 Pump GC 策略,删除保证未被消费的 Binlog 不被清理的限制,确保资源不会长期占用 #646
- 修正 SQL dump 指明的列名不是小写时导入错误的问题