From b2c9a12649df6198fdfcf19fdc7f38ace1fc67d1 Mon Sep 17 00:00:00 2001 From: Caitin <34535727+CaitinChen@users.noreply.github.com> Date: Sat, 30 Jun 2018 12:28:24 +0800 Subject: [PATCH] releases, readme: add the release notes for 2.1 beta (#516) * releases, readme: add the release notes for 2.1 beta * Fix the format --- README.md | 1 + releases/21beta.md | 85 ++++++++++++++++++++++++++++++++++++++++++++++ releases/rn.md | 1 + 3 files changed, 87 insertions(+) create mode 100644 releases/21beta.md diff --git a/README.md b/README.md index 109360c6171b2..ff82af2c371a4 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,7 @@ - [Frequently Asked Questions (FAQ)](FAQ.md) - [TiDB Best Practices](https://pingcap.github.io/blog/2017/07/24/tidbbestpractice/) + [Releases](releases/rn.md) + - [2.1 Beta](releases/21beta.md) - [2.0.4](releases/204.md) - [2.0.3](releases/203.md) - [2.0.2](releases/202.md) diff --git a/releases/21beta.md b/releases/21beta.md new file mode 100644 index 0000000000000..cd7e8d9080f6b --- /dev/null +++ b/releases/21beta.md @@ -0,0 +1,85 @@ +--- +title: TiDB 2.1 Beta Release Notes +category: Releases +--- + +# TiDB 2.1 Beta Release Notes + +On June 29, 2018, TiDB 2.1 Beta is released! Compared with TiDB 2.0, this release has great improvement in stability, SQL optimizer, statistics information, and execution engine. + +## TiDB + +- SQL Optimizer + - Optimize the selection range of `Index Join` to improve the execution performance + - Optimize correlated subquery, push down `Filter`, and extend the index range, to improve the efficiency of some queries by orders of magnitude + - Support `Index Hint` and `Join Hint` in the `UPDATE` and `DELETE` statements + - Validate Hint `TIDM_SMJ` when no available index exists + - Support pushdown of the `ABS`, `CEIL`, `FLOOR`, `IS TRUE`, and `IS FALSE` functions + - Handle the `IF` and `IFNULL` functions especially in the constant folding process +- SQL Execution Engine + - Implement parallel `Hash Aggregate` operators and improve the computing performance of `Hash Aggregate` by 350% in some scenarios + - Implement parallel `Project` operators and improve the performance by 74% in some scenarios + - Read the data of the `Inner` table and `Outer` table of `Hash Join` concurrently to improve the execution performance + - Fix incorrect results of `INSERT … ON DUPLICATE KEY UPDATE …` in some scenarios + - Fix incorrect results of the `CONCAT_WS`, `FLOOR`, `CEIL`, and `DIV` built-in functions +- Server + - Add the HTTP API to scatter the distribution of table Regions in the TiKV cluster + - Add the `auto_analyze_ratio` system variable to control the threshold value of automatic `Analyze` + - Add the HTTP API to control whether to open the general log + - Add the HTTP API to modify the log level online + - Add the user information in the general log and the slow query log + - Support the server side cursor +- Compatibility + - Support more MySQL syntax + - Make the `bit` aggregate function support the `ALL` parameter + - Support the `SHOW PRIVILEGES` statement +- DML + - Decrease the memory usage of the `INSERT INTO SELECT` statement + - Fix the performance issue of `PlanCache` + - Add the `tidb_retry_limit` system variable to control the automatic retry times of transactions + - Add the `tidb_disable_txn_auto_retry` system variable to control whether the transaction tries automatically + - Fix the accuracy issue of the written data of the `time` type + - Support the queue of locally conflicted transactions to optimize the conflicted transaction performance + - Fix `Affected Rows` of the `UPDATE` statement + - Optimize the statement performance of `insert ignore on duplicate key update` +- DDL + - Optimize the execution speed of the `CreateTable` statement + - Optimize the execution speed of `ADD INDEX` and improve it greatly in some scenarios + - Fix the issue that the number of added columns by `Alter table add column` exceeds the limit of the number of table columns + - Fix the issue that DDL job retries lead to an increasing pressure on TiKV in abnormal conditions + - Fix the issue that TiDB continuously reloads the schema information in abnormal conditions + - Do not output the `FOREIGN KEY` related information in the result of `SHOW CREATE TABLE` + - Support the `select tidb_is_ddl_owner()` statement to facilitate judging whether TiDB is `DDL Owner` + - Fix the issue that the index is deleted in the `Year` type in some scenarios + - Fix the renaming table issue in the concurrent execution scenario + - Support the `AlterTableForce` syntax + - Support the `AlterTableRenameIndex` syntax with `FromKey` and `ToKey` + - Add the table name and database name in the output information of `admin show ddl jobs` + +## PD + +- Enable Raft PreVote between PD nodes to avoid leader reelection when network recovers after network isolation +- Optimize the issue that Balance Scheduler schedules small Regions frequently +- Optimize the hotspot scheduler to improve its adaptability in traffic statistics information jitters +- Skip the Regions with a large number of rows when scheduling `region merge` +- Enable `raft learner` by default to lower the risk of unavailable data caused by machine failure during scheduling +- Remove `max-replica` from `pd-recover` +- Add `Filter` metrics +- Fix the issue that Region information is not updated after tikv-ctl unsafe recovery +- Fix the issue that TiKV disk space is used up caused by replica migration in some scenarios +- Compatibility notes + - Do not support rolling back to v2.0.x or earlier due to update of the new version storage engine + - Enable `raft learner` by default in the new version of PD. If the cluster is upgraded from 1.x to 2.1, the machine should be stopped before upgrade or a rolling update should be first applied to TiKV and then PD + + +## TiKV + +- Upgrade Rust to the `nightly-2018-06-14` version +- Enable `Raft PreVote` to avoid leader reelection generated when network recovers after network isolation +- Add a metric to display the number of files and `ingest` related information in each layer of RocksDB +- Print `key` with too many versions when GC works +- Use `static metric` to optimize multi-label metric performance (YCSB `raw get` is improved by 3%) +- Remove `box` in multiple modules and use patterns to improve the operating performance (YCSB `raw get` is improved by 3%) +- Use `asynchronous log` to improve the performance of writing logs +- Add a metric to collect the thread status +- Decease memory copy times by decreasing `box` used in the application to improve the performance diff --git a/releases/rn.md b/releases/rn.md index 7f69d7cab9ebf..96b6c9123b261 100644 --- a/releases/rn.md +++ b/releases/rn.md @@ -5,6 +5,7 @@ category: release # TiDB Release Notes + - [2.1 Beta](21beta.md) - [2.0.4](204.md) - [2.0.3](203.md) - [2.0.2](202.md)