Skip to content

Latest commit

 

History

History
117 lines (91 loc) · 9.83 KB

release-4.0-ga.md

File metadata and controls

117 lines (91 loc) · 9.83 KB
title aliases summary
TiDB 4.0 GA Release Notes
/docs/dev/releases/release-4.0-ga/
TiDB 4.0.0 GA was released on May 28, 2020. This version optimized error messages for large-sized transactions, improved usability of `Changefeed` configuration file, added new configuration items and support for various syntax and functions, fixed multiple bugs and issues in TiKV, TiFlash, PD, and Tools, added new monitoring items and support for various features in PD, and fixed various issues in Backup & Restore (BR) and TiCDC.

TiDB 4.0 GA Release Notes

Release date: May 28, 2020

TiDB version: 4.0.0

Compatibility Changes

  • TiDB

    • Optimize the error message of the large-sized transactions for easier troubleshooting #17219
  • TiCDC

    • Optimize the structure of the Changefeed configuration file to improve usability #588
    • Add the ignore-txn-start-ts configuration item, and change the condition from commit_ts to start_ts during transactions filtering #589

Important Bug Fixes

  • TiKV

    • Fix the DefaultNotFound error that occurs when backing up using Backup & Restore (BR) #7937
    • Fix system panics caused by the out-of-order ReadIndex packages #7930
    • Fix system panics caused by incorrectly removing snapshot files after TiKV is restarted #7927
  • TiFlash

    • Fix the possible data loss issue that occurs when the system panics because of incorrect processing logic of Raft Admin Command

New Features

  • TiDB

    • Add the committer-concurrency configuration item to control the number of goroutines in the retry-commit phase #16849
    • Support the show table partition regions syntax #17294
    • Add the tmp-storage-quota configuration item to limit the temporary disk space used by the TiDB server #15700
    • Support checking whether the partitioned table uses a unique prefix index when creating and changing tables #17213
    • Support the insert/replace into tbl_name partition(partition_name_list) statement #17313
    • Support checking the value of collations when using the Distinct function #17240
    • Support the is null filter condition during the Hash partition pruning #17310
    • Support admin check index, admin cleanup index, and admin recover index in partitioned tables #17392 #17405 #17317
    • Support range partition pruning for the in expressions #17320
  • TiFlash

    • Support filtering out the data corresponding to the qualified TSO through the min commit ts value of the Lock CF when the Learner reads the data
    • Add the feature that the system explicitly reports an error to avoid incorrect calculation results when the value of TIMESTAMP type is less than 1970-01-01 00:00:00
    • Support using flags in regular expressions when searching logs
  • TiKV

    • Support collation rules of ascii_bin and latin1_bin encoding #7919
  • PD

    • Support specifying the reverse proxy resource prefix for built-in TiDB Dashboard #2457
    • Support returning the pending peer and down peer information in interfaces of the PD client Region #2443
    • Add monitoring items such as Direction of hotspot move leader, Direction of hotspot move peer, and Hot cache read entry number #2448
  • Tools

    • Backup & Restore (BR)
      • Support the backup and restore of Sequence and View #242
    • TiCDC
      • Support checking the validity of Sink URI when creating Changefeed #561
      • Support checking whether the PD and TiKV versions meet the system requirements during system startup #570
      • Support scheduling multiple tables in the same scheduling task generation cycle #572
      • Add information about node roles in HTTP API #591

Bug Fixes

  • TiDB

    • Fix the issue of unexpected timeouts when sending and receiving messages by disabling TiDB to send batch commands to TiFlash #17307
    • Fix the issue of incorrectly distinguishing signed and unsigned integers during partition pruning, which improves performance #17230
    • Fix the issue of upgrade failure from v3.1.1 to v4.0 because of the incompatible mysql.user table #17300
    • Fix the issue of incorrect selection of the partition in the update statement #17305
    • Fix system panics when receiving an unknown error message from TiKV #17380
    • Fix system panics caused by incorrect processing logic when creating the table that is key partitioned #17242
    • Fix the issue that the wrong Index Merge Join plan is selected because of incorrect optimizer processing logic #17365
    • Fix the issue of inaccurate duration monitoring metric of the SELECT statement in Grafana #16561
    • Fix the issue that the GC worker is blocked when the system error occurs #16915
    • Fix the issue that the UNIQUE constraint on a boolean column results in an incorrect result in a comparison #17306
    • Fix system panics caused by incorrect processing logic when tidb_opt_agg_push_down is enabled and the aggregation function pushes down the partitioned table #17328
    • Fix the issue of accessing failed TiKV nodes in some cases #17342
    • Fix the issue that the isolation-read configuration item in tidb.toml does not take effect #17322
    • Fix the issue of incorrect order of output results due to incorrect processing logic when hint is used to enforce the stream aggregation #17347
    • Fix the behavior that insert processes DIV under different SQL_MODE #17314
  • TiFlash

    • Fix the issue that the matching behavior of regular expressions in the search log feature is inconsistent with other components
    • Fix the issue of excessive restart time when nodes write large amounts of data by disabling the delay processing optimization of Raft Compact Log Command by default
    • Fix the issue that the system fails to start because TiDB incorrectly processes the DROP DATABASE statement in some scenarios
    • Fix the issue that the method of collecting CPU information in Server_info is different from that in other components
    • Fix the issue that the error Too Many Pings is reported when the Query statement is executed if batch coprocessor is enabled
    • Fix the issue that Dashboard fails to display the correct deploy path information because TiFlash does not report the related information
  • TiKV

    • Fix the DefaultNotFound error that occurs when backing up using BR #7937
    • Fix system panics caused by out-of-order ReadIndex packets #7930
    • Fix the issue that an unexpected error is returned because the read request callback function is not called #7921
    • Fix system panics caused by incorrectly removing snapshot files when TiKV is restarted #7927
    • Fix the issue that the master key cannot be rotated due to incorrect processing logic in storage encryption #7898
    • Fix the issue that the received lock cf file of the snapshot is not encrypted when the storage encryption is enabled #7922
  • PD

    • Fix the 404 error when deleting evict-leader-scheduler or grant-leader-scheduler using pd-ctl #2446
    • Fix the issue that the presplit feature might not work properly when the TiFlash replica exists #2447
  • Tools

    • Backup & Restore (BR)
      • Fix the issue that the data restoration fails due to network issues when BR restores data from cloud storage #298
    • TiCDC
      • Fix system panics caused by data race #565 #566
      • Fix resource leaks or system blockages caused by incorrect processing logic #574 #586
      • Fix the issue that the command line gets stuck because CLI cannot connect to PD #579