TiDB 2.0.1 Release Notes

On May 16, 2018, TiDB 2.0.1 is released. Compared with TiDB 2.0.0 (GA), this release has great improvement in MySQL compatibility and system stability.

TiDB

  • Update the progress of Add Index to the DDL job information in real time
  • Add the tidb_auto_analyze_ratio session variable to control the threshold value of automatic statistics update
  • Fix an issue that not all residual states are cleaned up when the transaction commit fails
  • Fix a bug about adding indexes in some conditions
  • Fix the correctness related issue when DDL modifies surface operations in some concurrent scenarios
  • Fix a bug that the result of LIMIT is incorrect in some conditions
  • Fix a capitalization issue of the ADMIN CHECK INDEX statement to make its index name case insensitive
  • Fix a compatibility issue of the UNION statement
  • Fix a compatibility issue when inserting data of TIME type
  • Fix a goroutine leak issue caused by copIteratorTaskSender in some conditions
  • Add an option for TiDB to control the behaviour of Binlog failure
  • Refactor the Coprocessor slow log to distinguish between the scenario of tasks with long processing time and long waiting time
  • Log nothing when meeting MySQL protocol handshake error, to avoid too many logs caused by the load balancer Keep Alive mechanism
  • Refine the “Out of range value for column” error message
  • Fix a bug when there is a subquery in an Update statement
  • Change the behaviour of handling SIGTERM, and do not wait for all queries to terminate anymore

PD

  • Add the Scatter Range scheduler to balance Regions with the specified key range
  • Optimize the scheduling of Merge Region to prevent the newly split Region from being merged
  • Add Learner related metrics
  • Fix the issue that the scheduler is mistakenly deleted after restart
  • Fix the error that occurs when parsing the configuration file
  • Fix the issue that the etcd leader and the PD leader are not synchronized
  • Fix the issue that Learner still appears after it is closed
  • Fix the issue that Regions fail to load because the packet size is too large

TiKV

  • Fix the issue that SELECT FOR UPDATE prevents others from reading
  • Optimize the slow query log
  • Reduce the number of thread_yield calls
  • Fix the bug that raftstore is accidentally blocked when generating the snapshot
  • Fix the issue that Learner cannot be successfully elected in special conditions
  • Fix the issue that split might cause dirty read in extreme conditions
  • Correct the default value of the read thread pool configuration
  • Speed up Delete Range