title: TiDB 2.1 RC4 Release Notescategory: Releases

TiDB 2.1 RC4 Release Notes

2018 年 10 月 23 日,TiDB 发布 2.1 RC4 版。相比 2.1 RC3 版本,该版本对系统稳定性、优化器、统计信息以及执行引擎做了很多改进。

TiDB

  • SQL 优化器
    • 修复某些情况下 UnionAll 的列裁剪不正确的问题 #7941
    • 修复某些情况下 UnionAll 算子结果不正确的问题 #8007
  • SQL 执行引擎
    • 修复 AVG 函数的精度问题 #7874
    • 支持通过 EXPLAIN ANALYZE 语句查看 Query 执行过程中各个算子的运行时间,返回结果行数等运行时统计信息 #7925
    • 修复多次引用同一列时 PointGet 算子 panic 的问题 #7943
    • 修复当 Limit 子句中的值太大时 panic 的问题 #8002
    • 修复某些情况下 AddDate/SubDate 执行过程中 panic 的问题 #8009
  • 统计信息
    • 修复将组合索引的直方图下边界前缀判断为越界的问题 #7856
    • 修复统计信息收集引发的内存泄漏问题 #7873
    • 修复直方图为空时 panic 的问题 #7928
    • 修复加载统计信息时直方图边界越界的问题 #7944
    • 限制统计信息采样过程中数值的最大长度 #7982
  • Server
    • 重构 Latch,避免事务冲突误判,提升并发事务的执行性能 #7711
    • 修复某些情况下收集 Slow Query 导致的 panic 问题 #7874
    • 修复 LOAD DATA 语句中,ESCAPED BY 为空字符串时 panic 的问题 #8005
    • 完善 “coprocessor error” 日志信息 #8006
  • 兼容性
    • 当 Query 为空时,将 SHOW PROCESSLIST 结果中的 Command 字段设置为 “Sleep” #7839
  • 表达式
    • 修复 SYSDATE 函数被常量折叠的问题 #7895
    • 修复 SUBSTRING_INDEX 在某些情况下 panic 的问题 #7897
  • DDL
    • 修复抛出 “invalid ddl job type” 的错误时导致栈溢出的问题 #7958
    • 修复某些情况下 ADMIN CHECK TABLE 结果不正确的问题 #7975

PD

  • 修复下线后的 TiKV 没有从 Grafana 面板中移除的问题 #1261
  • 修复 grpc-go 设置 status 时的 data race 问题#1265
  • 修复 etcd 启动失败导致的服务挂起问题 #1267
  • 修复 leader 切换过程中可能产生的 data race #1273
  • 修复下线 TiKV 时可能输出多余 warning 日志的问题 #1280

TiKV

  • 优化 apply snapshot 导致的 RocksDB Write stall 的问题 #3606
  • 增加 raftstore tick 相关 metrics #3657
  • 升级 RocksDB,修复写入卡死及 IngestExternalFile 时可能写坏源文件的问题 #3661
  • 升级 grpcio,修复 “too many pings” 误报的问题 #3650