TiDB 2.0.1 Release Notes

2018 年 5 月 16 日,TiDB 发布 2.0.1 版。该版本在 2.0.0 (GA) 版的基础上,对 MySQL 兼容性、系统稳定性做出了改进。

TiDB

  • 实时更新 Add Index 的进度到 DDL 任务信息中
  • 添加 Session 变量 tidb_auto_analyze_ratio 控制统计信息自动更新阈值
  • 修复当事务提交失败时可能未清理所有的残留状态的问题
  • 修复加索引在部分情况下的 Bug
  • 修复 DDL 修改表面操作在某些并发场景下的正确性问题
  • 修复某些情况下 LIMIT 结果不正确的问题
  • 修复 ADMIN CHECK INDEX 语句索引名字区分大小写问题
  • 修复 UNION 语句的兼容性问题
  • 修复插入 TIME 类型数据的兼容性问题
  • 修复某些情况下 copIteratorTaskSender 导致的 goroutine 泄漏问题
  • 增加一个选项,用于设置 TiDB 在写 Binlog 失败的情况下的行为
  • 优化 Coprocessor 慢请求日志格式,区分处理时间长与排队时间长的任务
  • MySQL 协议握手阶段发生错误不打印日志,避免 KeepAlive 造成大量日志
  • 优化 Out of range value for column 的错误信息
  • 修复 Update 语句中遇到子查询导致结果错误的问题
  • 调整 TiDB 进程处理 SIGTERM 的行为,不等待正在执行的 Query 完成

PD

  • 添加 Scatter Range 调度,调度指定 Key Range 包含的 Region
  • 优化 Merge Region 调度,使新分裂不久的 Region 不能被合并
  • 添加 learner 相关的 metrics
  • 修复重启误删 scheduler 的问题
  • 修复解析配置文件出错问题
  • 修复 etcd leader 和 PD leader 不同步的问题
  • 修复关闭 learner 情况下还有 learner 出现的问题
  • 修复读取包过大造成 load Regions 失败的问题

TiKV

  • 修复 SELECT FOR UPDATE 阻止其他人读的问题
  • 优化慢查询的日志
  • 减少 thread_yield 的调用次数
  • 修复生成 snapshot 会意外阻塞 raftstore 的 bug
  • 修复特殊情况下开启 learner 无法选举成功的问题
  • 修复极端情况下分裂可能导致的脏读问题
  • 修正读线程池的配置默认值
  • 修正删大数据表会影响写性能的问题