Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

releases, readme: add the release notes for 2.1 beta #516

Merged
merged 2 commits into from
Jun 30, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
85 changes: 85 additions & 0 deletions releases/21beta.md
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions releases/rn.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down