title | category |
---|---|
TiDB 2.1 RC1 Release Notes |
Releases |
On August 24, 2018, TiDB 2.1 RC1 is released! Compared with TiDB 2.1 Beta, this release has great improvement in stability, SQL optimizer, statistics information, and execution engine.
- SQL Optimizer
- Fix the issue that a wrong result is returned after the correlated subquery is decorrelated in some cases #6972
- Optimize the output result of
Explain
#7011#7041 - Optimize the choosing strategy of the outer table for
IndexJoin
#7019 - Remove the Plan Cache of the non-
PREPARE
statement #7040 - Fix the issue that the
INSERT
statement is not parsed and executed correctly in some cases #7068 - Fix the issue that the
IndexJoin
result is not correct in some cases #7150 - Fix the issue that the
NULL
value cannot be found using the unique index in some cases #7163 - Fix the range computing issue of the prefix index in UTF-8 #7194
- Fix the issue that result is not correct caused by eliminating the
Project
operator in some cases #7257 - Fix the issue that
USE INDEX(PRIMARY)
cannot be used when the primary key is an integer #7316 - Fix the issue that the index range cannot be computed using the correlated column in some cases #7357
- SQL Execution Engine
- Fix the issue that the daylight saving time is not computed correctly in some cases #6823
- Refactor the aggregation function framework to improve the execution efficiency of the
Stream
andHash
aggregation operators #6852 - Fix the issue that the
Hash
aggregation operator cannot exit normally in some cases #6982 - Fix the issue that
BIT_AND
/BIT_OR
/BIT_XOR
does not handle the non-integer data correctly #6994 - Optimize the execution speed of the
REPLACE INTO
statement and increase the performance nearly 10 times #7027 - Optimize the memory usage of time type data and decrease the memory usage of the time type data by fifty percent #7043
- Fix the issue that the returned result is mixed with signed and unsigned integers in the
UNION
statement is not compatible with MySQL #7112 - Fix the panic issue caused by the too much memory applied by
LPAD
/RPAD
/TO_BASE64
/FROM_BASE64
/REPEAT
#7171 #7266 #7409 #7431 - Fix the incorrect result when
MergeJoin
/IndexJoin
handles theNULL
value #7255 - Fix the incorrect result of
Outer Join
in some cases #7288 - Improve the error message of
Data Truncated
to facilitate locating the wrong data and the corresponding field in the table #7401 - Fix the incorrect result for
decimal
in some cases #7001 #7113 #7202 #7208 - Optimize the point select performance #6937
- Prohibit the isolation level of
Read Commited
to avoid the underlying problem #7211 - Fix the incorrect result of
LTRIM
/RTRIM
/TRIM
in some cases #7291 - Fix the issue that the
MaxOneRow
operator cannot guarantee that the returned result does not exceed one row #7375 - Divide the Coprocessor requests with too many ranges #7454
- Statistics
- Optimize the mechanism of statistics dynamic collection #6796
- Fix the issue that
Auto Analyze
does not work when data is updated frequently #7022 - Decrease the Write conflicts during the statistics dynamic update process #7124
- Optimize the cost estimation when the statistics is incorrect #7175
- Optimize the
AccessPath
cost estimation strategy #7233
- Server
- Fix the bug in loading privilege information #6976
- Fix the issue that the
Kill
command is too strict with privilege check #6954 - Fix the issue of removing some binary numeric types #6922
- Shorten the output log #7029
- Handle the
mismatchClusterID
issue #7053 - Add the
advertise-address
configuration item #7078 - Add the
GrpcKeepAlive
option #7100 - Add the connection or
Token
time monitor #7110 - Optimize the data decoding performance #7149
- Add the
PROCESSLIST
table inINFORMMATION_SCHEMA
#7236 - Fix the order issue when multiple rules are hit in verifying the privilege #7211
- Change some default values of encoding related system variables to UTF-8 #7198
- Make the slow query log show more detailed information #7302
- Support registering tidb-server related information in PD and obtaining this information by HTTP API #7082
- Compatibility
- Support Session variables
warning_count
anderror_count
#6945 - Add
Scope
check when reading the system variables #6958 - Support the
MAX_EXECUTION_TIME
syntax #7012 - Support more statements of the
SET
syntax #7020 - Add validity check when setting system variables #7117
- Add the verification of the number of
PlaceHolder
s in thePrepare
statement #7162 - Support
set character_set_results = null
#7353 - Support the
flush status
syntax #7369 - Fix the column size of
SET
andENUM
types ininformation_schema
#7347 - Support the
NATIONAL CHARACTER
syntax of statements for creating a table #7378 - Support the
CHARACTER SET
syntax in theLOAD DATA
statement #7391 - Fix the column information of the
SET
andENUM
types #7417 - Support the
IDENTIFIED WITH
syntax in theCREATE USER
statement #7402 - Fix the precision losing issue during
TIMESTAMP
computing process #7418 - Support the validity verification of more
SYSTEM
variables #7196 - Fix the incorrect result when the
CHAR_LENGTH
function computes the binary string #7410 - Fix the incorrect
CONCAT
result in a statement involvingGROUP BY
#7448 - Fix the imprecise type length issue when casting the
DECIMAL
type to theSTRING
type #7451
- Support Session variables
- DML
- DDL
- Improve the method of DDL judging whether
Schema
is synchronized to avoid misjudgement in some cases #7319 - Fix the
SHOW CREATE TABLE
result in adding index process #6993 - Allow the default value of
text
/blob
/json
to be NULL in non-restrictsql-mode
#7230 - Fix the
ADD INDEX
issue in some cases #7142 - Increase the speed of adding
UNIQUE-KEY
index operation largely #7132 - Fix the truncating issue of the prefix index in UTF-8 character set #7109
- Add the environment variable
tidb_ddl_reorg_priority
to control the priority of theadd-index
operation #7116 - Fix the display issue of
AUTO-INCREMENT
ininformation_schema.tables
#7037 - Support the
admin show ddl jobs <number>
command and support output specified number of DDL jobs #7028 - Support parallel DDL job execution #6955
- Improve the method of DDL judging whether
- Table Partition (Experimental)
- Support top level partition
- Support
Range Partition
- Features
- Introduce the version control mechanism and support rolling update of the cluster with compatibility
- Enable the
region merge
feature - Support the
GetPrevRegion
interface - Support splitting Regions in batch
- Support storing the GC safepoint
- Improvements
- Optimize the issue that TSO allocation is affected by the system clock going backwards
- Optimize the performance of handling Region heartbeats
- Optimize the Region tree performance
- Optimize the performance of computing hotspot statistics
- Optimize returning the error code of API interface
- Add options of controlling scheduling strategies
- Prohibit using special characters in
label
- Improve the scheduling simulator
- Support splitting Regions using statistics in pd-ctl
- Support formatting JSON output by calling
jq
in pd-ctl - Add metrics about etcd Raft state machine
- Bug fixes
- Fix the issue that the namespace is not reloaded after switching Leader
- Fix the issue that namespace scheduling exceeds the schedule limit
- Fix the issue that hotspot scheduling exceeds the schedule limit
- Fix the issue that wrong logs are output when the PD client closes
- Fix the wrong statistics of Region heartbeat latency
- Features
- Support
batch split
to avoid too large Regions caused by the Write operation on hot Regions - Support splitting Regions based on the number of rows to improve the index scan efficiency
- Support
- Performance
- Use
LocalReader
to separate the Read operation from the raftstore thread to lower the Read latency - Refactor the MVCC framework, optimize the memory usage and improve the scan Read performance
- Support splitting Regions based on statistics estimation to reduce the I/O usage
- Optimize the issue that the Read performance is affected by continuous Write operations on the rollback record
- Reduce the memory usage of pushdown aggregation computing
- Use
- Improvements
- Add the pushdown support for a large number of built-in functions and better charset support
- Optimize the GC workflow, improve the GC speed and decrease the impact of GC on the system
- Enable
prevote
to speed up service recovery when the network is abnormal - Add the related configuration items of RocksDB log files
- Adjust the default configuration of
scheduler_latch
- Support setting whether to compact the data in the bottom layer of RocksDB when using tikv-ctl to compact data manually
- Add the check for environment variables when starting TiKV
- Support dynamically configuring the
dynamic_level_bytes
parameter based on the existing data - Support customizing the log format
- Integrate tikv-fail in tikv-ctl
- Add I/O metrics of threads
- Bug fixes
- Fix decimal related issues
- Fix the issue that
gRPC max_send_message_len
is set mistakenly - Fix the issue caused by misconfiguration of
region_size