TiDB 2.0.6 Release Notes

2018 年 8 月 6 日,TiDB 发布 2.0.6 版。该版本在 2.0.5 版的基础上,对系统兼容性、稳定性做出了改进。

TiDB

  • Improvements
    • 精简 "set system variable" 日志的长度,减少日志文件体积 #7031
    • 在日志中记录 ADD INDEX 执行过程中的慢操作,便于定位问题 #7083
    • 减少更新统计信息操作中的事务冲突 #7138
    • 当待估算的值超过统计信息范围时,提高行数估计的准确度 #7185
    • 当使用 Index Join 时,选择行数估计较小的表作为驱动表,提高 Index Join 的执行效率 #7227
    • ANALYZE TABLE 语句执行过程中发生的 panic 添加 recover 机制,避免收集统计信息过程中的异常行为导致 tidb-server 不可用 #7228
    • RPAD/LPAD 的结果超过设置系统变量 max_allowed_packet 时,返回 NULL 和对应的 warning,兼容 MySQL #7244
    • 设置 PREPARE 语句中占位符数量上限为 65535,兼容 MySQL #7250
  • Bug Fixes
    • 修复某些情况下,DROP USER 语句和 MySQL 行为不兼容的问题 #7014
    • 修复当 tidb_batch_insert 打开后,INSERT/LOAD DATA 等语句在某些场景下 OOM 的问题 #7092
    • 修复某个表的数据持续更新时,其统计信息自动更新失效的问题 #7093
    • 修复防火墙断掉不活跃的 gRPC 连接的问题 #7099
    • 修复某些场景下使用前缀索引结果不正确的问题 #7126
    • 修复某些场景下统计信息过时导致 panic 的问题 #7155
    • 修复某些场景下 ADD INDEX 后索引数据少一条的问题 #7156
    • 修复某些场景下查询唯一索引上的 NULL 值结果不正确的问题 #7172
    • 修复某些场景下 DECIMAL 的乘法结果出现乱码的问题 #7212
    • 修复某些场景下 DECIMAL 的取模运算结果不正确的问题 #7245
    • 修复某些特殊语句序列下在事务中执行 UPDATE/DELETE 语句后结果不正确的问题 #7219
    • 修复某些场景下 UNION ALL/UPDATE 语句在构造执行计划过程中 panic 的问题 #7225
    • 修复某些场景下前缀索引的索引范围计算错误的问题 #7231
    • 修复某些场景下 LOAD DATA 语句不写 binlog 的问题 #7242
    • 修复某些场景下在 ADD INDEX 过程中 SHOW CREATE TABLE 结果不正确的问题 #7243
    • 修复某些场景下 Index Join 因为没有初始化事务时间戳而 panic 的问题 #7246
    • 修复 ADMIN CHECK TABLE 因为误用 session 中的时区而导致误报的问题 #7258
    • 修复 ADMIN CLEANUP INDEX 在某些场景下索引没有清除干净的问题 #7265
    • 禁用 Read Committed 事务隔离级别 #7282

TiKV

  • Improvements
    • 扩大默认 scheduler slots 值以减少假冲突现象
    • 减少回滚事务的连续标记以提升冲突极端严重下的读性能
    • 限制 RocksDB log 文件的大小和个数以减少长时间运行下不必要的磁盘占用
  • Bug Fixes
    • 修复字符串转 Decimal 时出现的 crash