TiDB 2.1.17 Release Notes
发版日期:2019 年 9 月 11 日
TiDB 版本:2.1.17
新特性
- TiDB 的 语法新增
WHERE
条件子句 - TiKV、PD 新增
config-check
功能,用于配置项检查 - pd-ctl 新增
remove-tombstone
命令,支持清理 tombstone store 记录 - Reparo 新增
worker-count
和txn-batch
配置项,用于控制恢复速率
- TiDB 的 语法新增
改进提升
- PD 优化调度流程,支持主动下发调度
- TiKV 优化启动流程,减少重启节点带来的抖动
-
- TiDB 慢日志中的
start ts
由最后一次重试的时间改为第一次执行的时间 - TiDB 慢日志中的
Index_ids
字段替换为Index_names
字段,提升慢日志易用性 - TiDB 配置文件中添加
split-region-max-num
参数,用于调整SPLIT TABLE
语法允许的最大 Region 数量,默认配置下,允许的数量由 1,000 增加至 10,000
- TiDB 慢日志中的
- SQL 优化器
- Server
- TiDB 事务重试时,记录在慢日志中的
start ts
由最后一次重试的时间改为第一次执行的时间 - 在
LockResolver
中添加事务的 Key 数量:当 Key 数量较少时,可以避免对整个 Region 的 Scan 操作,减小清锁的代价 #11889 - 修复慢日志中,
succ
字段值可能不正确的问题 - 将慢日志中的
Index_ids
字段替换为Index_names
字段,提升慢日志易用性 #12063 - 修复
Duration
内容中包含-
时(例如select time(‘--’)
),TiDB 解析为 EOF Error 导致连接断开的错误 - 改进
RegionCache
:当一个 Region 失效时,它将会更快地从 中移除,减少向该 Region 发送请求的个数 #11931 - 修复
oom-action = "cancel"
时,当Insert Into … Select
语句发生 OOM,OOM Panic 没有被正确处理而导致连接断开的问题
- TiDB 事务重试时,记录在慢日志中的
- DDL
- 为
tikvSnapshot
添加逆序扫描接口用于高效地查询 DDL History Job,使用该接口后ADMIN SHOW DDL JOBS
的执行时间有明显降低 #11789 - 改进
CREATE TABLE ... PRE_SPLIT_REGION
的语义:当指定PRE_SPLIT_REGION = N
时,将预切分的 Region 个数由 2^(N-1) 改为 2^N - 根据线上负载与 Add Index 相互影响测试,调小 Add Index 后台工作线程的默认参数以避免对线上负载造成较大影响
- 改进
SPLIT TABLE
语法的行为:当使用SPLIT TABLE ... REGIONS N
对 Region 切分时,会生成 N 个数据 Region 和 1 个索引 Region #11929 - 修复写 binlog 时,
CREATE TABLE
语句中PRE_SPLIT_REGIONS
部分没有被注释,导致语句不能被下游 MySQL 解析的问题 SHOW TABLE … REGIONS
和SHOW TABLE .. INDEX … REGIONS
语法新增WHERE
条件子句 #12124
- 为
- Monitor
- 增加监控指标
connection_transient_failure_count
,用于统计tikvclient
的 gRPC 连接错误数量
- 增加监控指标
- 解决某些情况下 Region 内 key 个数统计不准的问题 #5415
- TiKV 新增
config-check
选项,用于检查 TiKV 配置项是否合法 - 优化启动流程,减少重启节点带来的抖动 #5277
- 优化某些情况下解锁的流程,加速事务解锁
- 优化
get_txn_commit_info
的流程,加速事务提交 #5062 - 简化 Raft 相关的 log
- 解决在某些情况下 TiKV 异常退出的问题 #5441
- PD 新增
config-check
选项,用于检查 PD 配置项是否合法 - pd-ctl 新增
remove-tombstone
命令,支持清理 tombstone store 记录 #1705 - 支持主动下发 Operator,加快调度速度
TiDB Binlog
TiDB Lightning
- 修复从 checkpoint 点重新导入可能会导致 tidb-lightning 崩溃的 bug #239
- 修复了当远程机器密码过期时长时间连接等待的问题 ,#948