You are viewing the documentation of an older version of the TiDB database (TiDB v5.4).

It is recommended that you use the latest LTS version of the TiDB database.

TiDB 5.0.3 Release Notes

Release date: July 2, 2021

TiDB version: 5.0.3

Compatibility Changes

  • TiDB

    • After a v4.0 cluster is upgraded to v5.0 or a later version (dev or v5.1), the default value of the tidb_multi_statement_mode variable changes from WARN to OFF
    • TiDB is now compatible with MySQL 5.7's noop variable innodb_default_row_format. Setting this variable will have no effect. #23541

Feature Enhancements

  • Tools

    • TiCDC

      • Add an HTTP API to get the changefeed information and the health information of the node #1955
      • Add the SASL/SCRAM support for the kafka sink #1942
      • Make TiCDC support --data-dir at the server level #2070


  • TiDB

    • Support pushing down the TopN operator to TiFlash #25162
    • Support pushing down the built-in function json_unquote() to TiKV #24415
    • Support removing the union branch from the dual table #25614
    • Support pushing down the built-in function replace() to TiFlash #25565
    • Support pushing down the built-in functions unix_timestamp(), concat(), year(), day(), datediff(), datesub(), and concat_ws() to TiFlash #25564
    • Optimize the aggregate operator's cost factor #25241
    • Support pushing down the Limit operator to TiFlash #25159
    • Support pushing down the built-in function str_to_date to TiFlash #25148
    • Allow the MPP outer join to choose the build table based on the table row count #25142
    • Support pushing down the built-in functions left(), right(), and abs() to TiFlash #25133
    • Support pushing down the Broadcast Cartesian join to TiFlash #25106
    • Support pushing down the Union All operator to TiFlash #25051
    • Support balancing the MPP query workload among different TiFlash nodes based on Regions #24724
    • Support invalidating stale Regions in the cache after the MPP query is executed #24432
    • Improve the MySQL compatibility of the built-in function str_to_date for the format specifiers %b/%M/%r/%T #25767
  • TiKV

    • Limit the TiCDC sink's memory consumption #10305
    • Add the memory-bounded upper limit for the TiCDC old value cache #10313
  • PD

    • Update TiDB Dashboard to v2021.06.15.1 #3798
  • TiFlash

    • Support casting the STRING type to the DOUBLE type
    • Support the STR_TO_DATE() function
    • Optimize the non-joined data in right outer join using multiple threads
    • Support the Cartesian join
    • Support the LEFT() and RIGHT() functions
    • Support automatically invalidating stale Regions in MPP queries
    • Support the ABS() function
  • Tools

Bug Fixes

  • TiDB

    • Fix the issue that an incorrect result is returned when using merge join on the SET type column #25669
    • Fix the data corruption issue in the IN expression's arguments #25591
    • Avoid the sessions of GC being affected by global variables #24976
    • Fix the panic issue that occurs when using limit in the window function queries #25344
    • Fix the wrong value returned when querying a partitioned table using Limit #24636
    • Fix the issue that IFNULL does not correctly take effect on the ENUM or SET type column #24944
    • Fix the wrong results caused by changing the count in the join subqueries to first_row #24865
    • Fix the query hang issue that occurs when ParallelApply is used under the TopN operator #24930
    • Fix the issue that more results than expected are returned when executing SQL statements using multi-column prefix indexes #24356
    • Fix the issue that the <=> operator cannot correctly take effect #24477
    • Fix the data race issue of the parallel Apply operator #23280
    • Fix the issue that the index out of range error is reported when sorting the IndexMerge results of the PartitionUnion operator #23919
    • Fix the issue that setting the tidb_snapshot variable to an unexpectedly large value might damage the transaction isolation #25680
    • Fix the issue that the ODBC-styled constant (for example, {d '2020-01-01'}) cannot be used as the expression #25531
    • Fix the issue that SELECT DISTINCT converted to Batch Get causes incorrect results #25320
    • Fix the issue that backing off queries from TiFlash to TiKV cannot be triggered #23665 #24421
    • Fix the index-out-of-range error that occurs when checking only_full_group_by #23839)
    • Fix the issue that the result of index join in correlated subqueries is wrong #25799
  • TiKV

    • Fix the wrong tikv_raftstore_hibernated_peer_state metric #10330
    • Fix the wrong arguments type of the json_unquote() function in the coprocessor #10176
    • Skip clearing callback during graceful shutdown to avoid breaking ACID in some cases #10353 #10307
    • Fix a bug that the read index is shared for replica reads on a Leader #10347
    • Fix the wrong function that casts DOUBLE to DOUBLE #25200
  • PD

    • Fix the data race issue that occurs when loading TTL configurations after the scheduler is started #3771
    • Fix a bug that the is_learner field of the TIKV_REGION_PEERS table in TiDB is incorrect #3372 #24293
    • Fix the issue that when all TiKV nodes in a zone are offline or down, PD does not schedule replicas to other zones #3705
    • Fix the issue that PD might get panic after the scatter Region scheduler is added #3762
  • TiFlash

    • Fix the issue that TiFlash keeps restarting because of the split failure
    • Fix the potential issue that TiFlash cannot delete the delta data
    • Fix a bug that TiFlash adds wrong padding for non-binary characters in the CAST function
    • Fix the issue of incorrect results when handling aggregation queries with complex GROUP BY columns
    • Fix the TiFlash panic issue that occurs under heavy write pressure
    • Fix the panic that occurs when the right jon key is not nullalbe and the left join key is nullable
    • Fix the potential issue that the read-index requests take a long time
    • Fix the panic issue that occurs when the read load is heavy
    • Fix the panic issue that might occur when the Date_Format function is called with the STRING type argument and NULL values
  • Tools

    • TiCDC

      • Fix the issue that TiCDC owner exits when refreshing the checkpoint #1902
      • Fix a bug that some MySQL connection might leak after MySQL sink meets the error and pauses #1946
      • Fix the panic issue that occurs when TiCDC fails to read /proc/meminfo #2024
      • Reduce TiCDC's runtime memory consumption #2012 #1958
      • Fix a bug that might cause TiCDC server panic due to the late calculation of resolved ts #1576
      • Fix the potential deadlock issue for the processor #2142
    • Backup & Restore (BR)

      • Fix a bug that all system tables are filtered during restore #1197 #1201
      • Fix the issue that Backup & Restore reports the error of "file already exists" when TDE is enabled during the restore #1179
    • TiDB Lightning

      • Fix the TiDB Lightning panic issue for some special data #1213
      • Fix the EOF error reported when TiDB Lightning splits the imported large CSV files #1133
      • Fix a bug that an excessively large base value is generated when TiDB Lightning imports tables with the auto_increment column of the FLOAT or DOUBLE type #1186
      • Fix the issue that TiDB fails to parse the DECIMAL type data in Parquet files #1277
Was this page helpful?