Skip to content

Commit

Permalink
Merge pull request #856 from CaitinChen/add-release-notes-21rc1
Browse files Browse the repository at this point in the history
releases, readme: add the release notes for 2.1 rc1
  • Loading branch information
lilin90 committed Aug 24, 2018
2 parents 26507b9 + f97c8e2 commit 6d67533
Show file tree
Hide file tree
Showing 3 changed files with 157 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@
- [常见问题与解答(FAQ)](FAQ.md)
- [最佳实践](https://pingcap.com/blog-cn/tidb-best-practice/)
+ [版本发布历史](releases/rn.md)
- [2.1 RC1](releases/21rc1.md)
- [2.0.6](releases/206.md)
- [2.0.5](releases/205.md)
- [2.1 Beta](releases/21beta.md)
Expand Down
155 changes: 155 additions & 0 deletions releases/21rc1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
---
title: TiDB 2.1 RC1 Release Notes
category: Releases
---

# TiDB 2.1 RC1 Release Notes

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

## TiDB

- SQL 优化器
- 修复某些情况下关联子查询去关联后结果不正确的问题 [#6972](https://github.com/pingcap/tidb/pull/6972)
- 优化 `Explain` 输出结果 [#7011](https://github.com/pingcap/tidb/pull/7011)[#7041](https://github.com/pingcap/tidb/pull/7041)
- 优化 `IndexJoin` 驱动表选择策略[#7019](https://github.com/pingcap/tidb/pull/7019)
- 去掉非 `PREPARE` 语句的 Plan Cache [#7040](https://github.com/pingcap/tidb/pull/7040)
- 修复某些情况下 `INSERT` 语句无法正常解析执行的问题 [#7068](https://github.com/pingcap/tidb/pull/7068)
- 修复某些情况下 `IndexJoin` 结果不正确的问题 [#7150](https://github.com/pingcap/tidb/pull/7150)
- 修复某些情况下使用唯一索引不能查询到 `NULL` 值的问题 [#7163](https://github.com/pingcap/tidb/pull/7163)
- 修复 UTF-8 编码情况下前缀索引的范围计算不正确的问题 [#7194](https://github.com/pingcap/tidb/pull/7194)
- 修复某些情况下 `Project` 算子消除导致的结果不正确的问题 [#7257](https://github.com/pingcap/tidb/pull/7257)
- 修复主键为整数类型时无法使用 `USE INDEX(PRIMARY)` 的问题 [#7316](https://github.com/pingcap/tidb/pull/7316)
- 修复某些情况下使用关联列无法计算索引范围的问题 [#7357](https://github.com/pingcap/tidb/pull/7357)
- SQL 执行引擎
- 修复某些情况下夏令时时间计算结果不正确的问题 [#6823](https://github.com/pingcap/tidb/pull/6823)
- 重构聚合函数框架,提升 `Stream``Hash` 聚合算子的执行效率 [#6852](https://github.com/pingcap/tidb/pull/6852)
- 修复某些情况下 `Hash` 聚合算子不能正常退出的问题 [#6982](https://github.com/pingcap/tidb/pull/6982)
- 修复 `BIT_AND`/`BIT_OR`/`BIT_XOR` 没有正确处理非整型数据的问题 [#6994](https://github.com/pingcap/tidb/pull/6994)
- 优化 `REPLACE INTO` 语句的执行速度,性能提升近 10 倍 [#7027](https://github.com/pingcap/tidb/pull/7027)
- 优化时间类型的内存占用,时间类型数据的内存使用降低为原来的一半 [#7043](https://github.com/pingcap/tidb/pull/7043)
- 修复 `UNION` 语句整合有符号和无符号型整数结果时与 MySQL 不兼容的问题 [#7112](https://github.com/pingcap/tidb/pull/7112)
- 修复 `LPAD`/`RPAD`/`TO_BASE64`/`FROM_BASE64`/`REPEAT` 因为申请过多内存导致 TiDB panic 的问题 [#7171](https://github.com/pingcap/tidb/pull/7171) [#7266](https://github.com/pingcap/tidb/pull/7266) [#7409](https://github.com/pingcap/tidb/pull/7409) [#7431](https://github.com/pingcap/tidb/pull/7431)
- 修复 `MergeJoin`/`IndexJoin` 在处理 `NULL` 值时结果不正确的问题 [#7255](https://github.com/pingcap/tidb/pull/7255)
- 修复某些情况下 Outer Join 结果不正确的问题 [#7288](https://github.com/pingcap/tidb/pull/7288)
- 增强 `Data Truncated` 的报错信息,便于定位出错的数据和表中对应的字段 [#7401](https://github.com/pingcap/tidb/pull/7401)
- 修复某些情况下 Decimal 计算结果不正确的问题 [#7001](https://github.com/pingcap/tidb/pull/7001) [#7113](https://github.com/pingcap/tidb/pull/7113) [#7202](https://github.com/pingcap/tidb/pull/7202) [#7208](https://github.com/pingcap/tidb/pull/7208)
- 优化点查的查询性能 [#6937](https://github.com/pingcap/tidb/pull/6937)
- 禁用 `Read Commited` 隔离级别,避免潜在的问题 [#7211](https://github.com/pingcap/tidb/pull/7211)
- 修复某些情况下 `LTRIM`/`RTRIM`/`TRIM` 结果不正确的问题 [#7291](https://github.com/pingcap/tidb/pull/7291)
- 修复 `MaxOneRow` 算子无法保证返回结果不超过 1 行的问题 [#7375](https://github.com/pingcap/tidb/pull/7375)
- 拆分 range 个数过多的 Coprocessor 请求 [#7454](https://github.com/pingcap/tidb/pull/7454)
- 统计信息
- 优化统计信息动态收集机制 [#6796](https://github.com/pingcap/tidb/pull/6796)
- 解决数据频繁更新场景下 `Auto Analyze` 不工作的问题 [#7022](https://github.com/pingcap/tidb/pull/7022)
- 减少统计信息动态更新过程中的写入冲突 [#7124](https://github.com/pingcap/tidb/pull/7124)
- 优化统计信息不准确情况下的代价估算 [#7175](https://github.com/pingcap/tidb/pull/7175)
- 优化 `AccessPath` 的代价估算策略 [#7233](https://github.com/pingcap/tidb/pull/7233)
- Server
- 修复加载权限信息时的 bug [#6976](https://github.com/pingcap/tidb/pull/6976)
- 修复 `Kill` 命令对权限的检查过严问题 [#6954](https://github.com/pingcap/tidb/pull/6954)
- 解决 Binary 协议中某些数值类型移除的问题 [#6922](https://github.com/pingcap/tidb/pull/6922)
- 精简日志输出 [#7029](https://github.com/pingcap/tidb/pull/7029)
- 处理 `mismatchClusterID` 问题 [#7053](https://github.com/pingcap/tidb/pull/7053)
- 增加 `advertise-address` 配置项 [#7078](https://github.com/pingcap/tidb/pull/7078)
- 增加 `GrpcKeepAlive` 选项 [#7100](https://github.com/pingcap/tidb/pull/7100)
- 增加连接或者 `Token` 时间监控 [#7110](https://github.com/pingcap/tidb/pull/7110)
- 优化数据解码性能 [#7149](https://github.com/pingcap/tidb/pull/7149)
- `INFORMMATION_SCHEMA` 中增加 `PROCESSLIST`[#7236](https://github.com/pingcap/tidb/pull/7236)
- 解决权限验证时多条规则可以命中情况下的顺序问题 [#7211](https://github.com/pingcap/tidb/pull/7211)
- 将部分编码相关的系统变量默认值改为 UTF-8 [#7198](https://github.com/pingcap/tidb/pull/7198)
- 慢查询日志显示更详细的信息 [#7302](https://github.com/pingcap/tidb/pull/7302)
- 支持在 PD 注册 tidb-server 的相关信息并通过 HTTP API 获取 [#7082](https://github.com/pingcap/tidb/pull/7082)
- 兼容性
- 支持 `Session` 变量 `warning_count``error_count` [#6945](https://github.com/pingcap/tidb/pull/6945)
- 读取系统变量时增加 Scope 检查 [#6958](https://github.com/pingcap/tidb/pull/6958)
- 支持 `MAX_EXECUTION_TIME` 语法 [#7012](https://github.com/pingcap/tidb/pull/7012)
- 支持更多的 `SET` 语法 [#7020](https://github.com/pingcap/tidb/pull/7020)
- Set 系统变量值过程中增加合法性校验 [#7117](https://github.com/pingcap/tidb/pull/7117)
- 增加 `Prepare` 语句中 `PlaceHolder` 数量的校验 [#7162](https://github.com/pingcap/tidb/pull/7162)
- 支持 `set character_set_results = null` [#7353](https://github.com/pingcap/tidb/pull/7353)
- 支持 `flush status` 语法 [#7369](https://github.com/pingcap/tidb/pull/7369)
- 修复 `SET``ENUM` 类型在 `information_schema` 里的 column size [#7347](https://github.com/pingcap/tidb/pull/7347)
- 支持建表语句里的 `NATIONAL CHARACTER` 语法 [#7378](https://github.com/pingcap/tidb/pull/7378)
- 支持 `LOAD DATA` 语句的 `CHARACTER SET` 语法 [#7391](https://github.com/pingcap/tidb/pull/7391)
- 修复 `SET``ENUM `类型的 column info [#7417](https://github.com/pingcap/tidb/pull/7417)
- 支持 `CREATE USER` 语句的 `IDENTIFIED WITH` 语法 [#7402](https://github.com/pingcap/tidb/pull/7402)
- 修复 `TIMESTAMP` 类型计算过程中丢失精度的问题 [#7418](https://github.com/pingcap/tidb/pull/7418)
- 支持更多 `SYSTEM` 变量的合法性验证 [#7196](https://github.com/pingcap/tidb/pull/)
- 修复 `CHAR_LENGTH` 函数在计算 binary string 时结果不正确的问题 [#7410](https://github.com/pingcap/tidb/pull/7410)
- 修复在包含 `GROUP BY` 的语句里 `CONCAT` 结果不正确的问题 [#7448](https://github.com/pingcap/tidb/pull/7448)
- 修复 `DECIMAL` 类型 CAST 到 `STRING` 类型时,类型长度不准确的问题 [#7451](https://github.com/pingcap/tidb/pull/7451)
- DML
- 解决 `Load Data` 语句的稳定性 [#6927](https://github.com/pingcap/tidb/pull/6927)
- 解决一些 `Batch` 操作情况下的内存使用问题 [#7086](https://github.com/pingcap/tidb/pull/7086)
- 提升 `Replace Into` 语句的性能 [#7027](https://github.com/pingcap/tidb/pull/7027)
- 修复写入 `CURRENT_TIMESTAMP` 时,精度不一致的问题 [#7355](https://github.com/pingcap/tidb/pull/7355)
- DDL
- 改进 DDL 判断 `Schema` 是否已经同步的方法, 避免某些情况下的误判 [#7319](https://github.com/pingcap/tidb/pull/7319)
- 修复在 `ADD INDEX` 过程中的 `SHOW CREATE TABLE` 结果 [#6993](https://github.com/pingcap/tidb/pull/6993)
- 非严格 `sql-mode` 模式下, `text`/`blob`/`json` 的默认值可以为空 [#7230](https://github.com/pingcap/tidb/pull/7230)
- 修复某些特定场景下 `ADD INDEX` 的问题 [#7142](https://github.com/pingcap/tidb/pull/7142)
- 大幅度提升添加 `UNIQUE-KEY` 索引操作的速度 [#7132](https://github.com/pingcap/tidb/pull/7132)
- 修复 Prefix-index 在 UTF-8 字符集的场景下的截断问题 [#7109](https://github.com/pingcap/tidb/pull/7109)
- 增加环境变量 `tidb_ddl_reorg_priority` 来控制 `add-index` 操作的优先级 [#7116](https://github.com/pingcap/tidb/pull/7116)
- 修复 `information_schema.tables``AUTO-INCREMENT` 的显示问题 [#7037](https://github.com/pingcap/tidb/pull/7037)
- 支持 `admin show ddl jobs <number>` 命令, 支持输出 number 个 DDL jobs [#7028](https://github.com/pingcap/tidb/pull/7028)
- 支持并行 DDL 任务执行 [#6955](https://github.com/pingcap/tidb/pull/6955)
- [Table Partition](https://github.com/pingcap/tidb/projects/6)(实验性)
- 支持一级分区
- 支持 `Range Partition`

## PD

- 新特性
- 引入版本控制机制,支持集群滚动兼容升级
- 开启 `Region merge` 功能
- 支持 `GetPrevRegion` 接口
- 支持批量 `split Region`
- 支持存储 GC safepoint
- 功能改进
- 优化系统时间回退影响 TSO 分配的问题
- 优化处理 Region heartbeat 的性能
- 优化 Region tree 性能
- 优化计算热点统计的性能问题
- 优化 API 接口错误码返回
- 新增一些控制调度策略的开关
- 禁止在 `label` 中使用特殊字符
- 完善调度模拟器
- pd-ctl 支持使用统计信息进行 Region split
- pd-ctl 支持调用 `jq` 来格式化 JSON 输出
- 新增 etcd Raft 状态机相关 metrics
- Bug 修复
- 修复 leader 切换后 namespace 未重新加载的问题
- 修复 namespace 调度超出 schedule limit 配置的问题
- 修复热点调度超出 schedule limit 的问题
- 修复 PD client 关闭时输出一些错误日志的问题
- 修复 Region 心跳延迟统计有误的问题

## TiKV

- 新特性
- 支持 `batch split`,防止热点 Region 写入产生超大 Region
- 支持设置根据数据行数 split Region,提升 index scan 效率
- 性能优化
- 使用 `LocalReader` 将 Read 操作从 raftstore 线程分离,减少 Read 延迟
- 重构 MVCC 框架,优化 memory 使用,提升 scan read 性能
- 支持基于统计估算进行 Region split,减少 I/O 开销
- 优化连续写入 Rollback 记录后影响读性能的问题
- 减少下推聚合计算的内存开销
- 功能改进
- 增加大量内建函数下推支持,更完善的 charset 支持
- 优化 GC 流程,提升 GC 速度并降低 GC 对系统的影响
- 开启 `prevote`,加快网络异常时的恢复服务速度
- 增加 RocksDB 日志文件相关的配置项
- 调整 `scheduler latch` 默认配置
- 使用 tikv-ctl 手动 compact 时可设定是否 compact RocksDB 最底层数据
- 增加启动时的环境变量检查
- 支持基于已有数据动态设置 `dynamic_level_bytes` 参数
- 支持自定义日志格式
- tikv-ctl 整合 tikv-fail 工具
- 增加 threads IO metrics
- Bug 修复
- 修复 decimal 相关问题
- 修复 `gRPC max_send_message_len` 设置有误的问题
- 修复 `region_size` 配置不当时产生的问题
1 change: 1 addition & 0 deletions releases/rn.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ category: release

TiDB 历史版本发布声明如下:

- [2.1 RC1](releases/21rc1.md)
- [2.0.6](206.md)
- [2.0.5](205.md)
- [2.1 Beta](21beta.md)
Expand Down

0 comments on commit 6d67533

Please sign in to comment.