tencent cloud


Kernel Version Release Notes

Last updated: 2023-03-01 14:33:46

This document describes the TDSQL-C for MySQL kernel version updates. For information on how to upgrade the kernel, see Upgrading Kernel Minor Version.

Minor VersionDescription
  • Feature updates
    • Supported CDC, which can directly and repeatedly backtrack/extract the binlogs in the custom log retention period. This solves the problem where the compute node loses local binlogs in scenarios such as HA. For more information on how to set the binlog retention period, see Setting Backup Retention Period.
    • Optimized the pages purge rate to improve the database performance.
  • Fixes
    • Fixed the issue where the worker couldn't pass the table-level NULL ROW FLAG to the coordinator and thus caused incorrect results.
    • Fixed the core issue of parallel query caused by the failure of the sort operator to get the order list during operator splitting because sort order was pushed down to the table.
  • Feature updates
    • Supported parallel query, which can automatically identify complicated queries. The parallel query capability leverages multiple compute cores to greatly shorten the response time of large queries. For more information on how to use this feature, see Enabling/Disabling Parallel Query.
  • Fixes
    • Fixed several database issues in debug mode.
    • Fixed the issue where abnormal information appeared in database proxy-related fields when `show detailed processlist` was used to display connection information.
  • Feature updates
    • Added the password dictionary parameter as described in Overview, and optimized HA's dependence on dictionary files.
    • Supported completing purged binlogs in the kernel.
    • Supported the built-in database proxy for the Serverless architecture to implement connection persistence and momentary disconnection prevention, and fixed the connection error reported during the first wakeup.
  • Fixes
    • Fixed the crash caused by full-text index (non-tree index) encountered during index check.
    • Fixed the issue where the liveness probe of the database proxy caused the kernel to output a large number of error logs, and blocked the printing of redundant logs.
    • Fixed the issue where the uninitialized GCR LSN in the session LSN tracker might return a random value of the database proxy and thus cause the statement execution to time out.
  • Feature updates
    • Supported traffic throttling for `bulk insert`.
    • Supported setting the change buffer and merge modes.
    • Supported database proxy. For more information on how to use this feature, see Database Proxy Overview.
    • Supported logical backup for read-only instances.
    • Supported parallel replication of binlogs at the table level.
    • Supported SQL throttling.
    • Supported hotspot update protection.
    • Supported interesting order judgment in sort merge join.
    • Supported TABLESAMPLE.
    • Supported the HISTOGRAM() function.
    • Supported histogram versioning and compressed histogram.
    • Supported `show detail processlist`.
  • Performance optimizations
    • Optimized the physical replication of transactions to greatly improve the write-only performance.
    • Optimized the parallel initialization of the transaction system to accelerate the system startup.
    • Optimized the logic of page locking during log replay in read-only instances to accelerate the replay thread.
  • Fixes
    • Fixed the issue where the MySQL client exited abnormally when receiving an incomplete package.
    • Fixed the crash of the FSP management fraction caused by the incorrect commit order of the nested MTRs generated by blob.
    • Fixed the transaction consistency issue that might be caused by the purge of the host when RO accessed the secondary index.
    • Fixed the issue where `backup lock` couldn't be locked due to the `lock table` statement.
    • Fixed the issue where several keywords introduced by TDSQL-C couldn't be used as identifiers, such as CDB_GET_TABLE_VERSION, CLUSTER, and THREADPOOL.
    • Fixed the issue where the startup time was prolonged due to the failure to add `dict op lock` to the main thread caused by large transactions or long-line transaction rollbacks during instance startup.
    • Fixed the crash caused by TRX reuse after the failure to allocate the undo page.
    • Fixed the crash caused by executing `alter table` on a partitioned table to migrate from the extended tablespace to the system tablespace.
    • Fixed the crash caused by the startup before the truncate log was completely written.
    • Fixed the crash caused by inserting data after `drop table partition force`.
    • Fixed the possible crash caused by rollbacks after instant DDL.
    • Fixed the issue where creating tables in the extended tablespace with `create temporary table like` failed.
    • Fixed the OOM caused by the continuous increase of the cache during data writes to the full-text index table.
    • Fixed the error of unstable performance after hotspot update optimization was enabled.
    • Fixed the issue where `select count(*)` parallel scans caused full-table scans in extreme cases.
    • Fixed the issue where the statistics were read as zero in various cases, and fixed the official bug #31889883.
    • Fixed the bug where queries were in the `query end` status for a long time.
    • Fixed the case sensitivity issue of column names in the `json_table` function (official bug #32591074).
    • Fixed the bug where an error was reported when the Temptable engine was used and the number of aggregate functions in the selected column exceeded 255.
    • Fixed the bug that caused correctness issues in window functions because expressions returned early during `return true`.
    • Fixed the correctness issue caused by the pushdown by `derived condition pushdown` when it contained user variables.
    • Fixed the issue where SQL filters were prone to crash when no namespaces were added in a rule.
    • Fixed the QPS jitters when the thread pool was enabled under high concurrency and high conflict.
    • Fixed the crash when information was not cleared during execution of the `update` statement or stored procedures.
    • Fixed the issue where the histogram couldn't be stopped by CTRL+C on the existing version.
  • Feature updates
    • Supported adding the binlog with the specified filename to an index file.
    • Added a backup lock in the syntax of LOCK TABLES FOR BACKUP, UNLOCK TABLES.
    • Added a binlog lock in the syntax of LOCK BINLOG FOR BACKUP, UNLOCK BINLOG.
  • Fixes
    • Fixed the bug where dynamic metadata persistence caused instance table corruptions or visibility errors.
    • Merged the official bugfix #32897503 to solve the issue where the execution path of some query statements was incorrect under the `prepare` statement.
    • Merged the official bugfix to solve the crash when `set resource group` failed.
    • Fixed the bug where the previous `gtid` was empty after HA switch.
    • Fixed the bug where an auto-increment column could be set to a value smaller than the inserted maximum value.
    • Fixed the issue where explicit transactions in read-only instances would block the replay thread from replaying DDL logs.
    • Fixed the issue where tables with "-" in the name might crash when replicated in a read-only instance after DDL.
    • Fixed the crash caused by the `undo` request to the DDL log system table when a read-only instance experienced DDL recovery upon startup.
  • Feature updates
    • Supported MySQL 8.0 for read-only nodes and source-replica physical replication.
    • Supported table space expansion and up to above 1 PB of capacity per instance.
    • Supported limiting the number of preloaded rows, which achieved a 1%-5% performance increase during point query testing.
    • Supported extended ANALYZE syntax (UPDATE HISTOGRAM c USING DATA 'json') and direct writes to histograms.
  • Performance optimizations
    • Replaced index dive with histogram to reduce evaluation errors and I/O overheads (this capability is not enabled by default).
  • Fixes
    • Fixed the issue where updates related to large object pages were not written to the log when a full-text index containing large object columns was created.
    • Fixed the issue with inconsistent formats of `undo page` and different definitions of `TRX_UNDO_HISTORY_NODE` in the computing and storage layers.
    • Fixed the issue where statistics information might be zero during online-DDL.
    • Fixed the issue where columns generated from replica instances were not updated.
    • Fixed the issue where the instance hung when binlog was compressed.
    • Fixed the issue of missing GTID in the previous_gtids event of the newly generated binlog file.
    • Fixed possible deadlocks when system variables were modified.
    • Fixed the issue where the information of the SQL thread of the replica instance in SHOW PROCESSLIST was incorrectly displayed.
    • Implemented the bug fix related to hash join provided in MySQL 8.0.23.
    • Implemented the bug fix related to writeset provided in MySQL.
    • Implemented the bug fix related to the query optimizer provided in MySQL 8.0.24.
    • Fixed the concurrency bugs of optimizing flush list and releasing pages in FAST DDL.
    • Optimized the memory usage during data dictionary update in instances with a large number of tables.
    • Fixed the crash caused by new primary key creation after INSTANT ADD COLUMN.
    • Fixed the OOM caused by memory growth in full-text index query.
    • Fixed the issue where -1 was included in the TIME field in the result set returned by SHOW PROCESSLIST.
    • Fixed the issue where tables might fail to be opened due to histogram compatibility.
    • Fixed the floating point accumulation error when Singleton histograms were constructed.
    • Fixed the replication interruption caused by using many Chinese characters in the table name of a row format log.
  • Feature updates
    • Supported the official updates of MySQL 8.0.19, 8.0.20, 8.0.21, and 8.0.22.
    • Supported dynamic setting of thread pooling mode or connection pooling mode by using the `thread_handling` parameter.
    • Supported source-replica buffer pool sync: After a high-availability (HA) source-replica switch occurs, it usually takes a long time to warm up the replica, that is, to load hotspot data into its buffer pool. To accelerate the replica's warmup, TXSQL now supports the buffer pool sync between the source and the replica.
    • Supported sort merge join.
    • Supported async commit: With the thread pool enabled and binlog disabled, async commit can be enabled by setting the parameter `innodb_log_sync_method` to `async`.
    • Supported fast DDL operations.
    • Supported querying the value of the `character_set_client_handshake` parameter.
    • Supported database audit.
  • Performance optimizations
    • Optimized the mechanism of scanning and flushing the dirty pages tracked in the flush list, so as to solve the performance fluctuation issue while creating indexes and thus improve the system stability.
    • Optimized the `BINLOG LOCK_done` conflict to improve write performance.
    • Optimized the `trx_sys mutex` conflict by using lock free hash and improve performance.
    • Optimized redo log flushing.
    • Optimized the buffer pool initialization time.
    • Optimized the clearing of adaptive hash indexes (AHI) during the `drop table` operations on big tables.
  • Fixes
    • Fixed the deadlocks caused by the modification of the `offline_mode` and `cdb_working_mode` parameters.
    • Fixed the concurrency issue while persistently storing `max_trx_id` of global object `trx_sys`.
    • Fixed performance fluctuation when cleaning InnoDB temporary tables.
    • Fixed the read-only performance decrease when the instance has many cores.
    • Fixed the error (error code: 1032) caused by hash scans.
    • Fixed concurrency security issues caused by hotspot update.
  • Feature updates
    • Supported three methods of querying `cynos_version`: `select CYNOS_VERSION()`, `select @@cynos_version`, and `show variables like 'cynos_version'`.
    • Added a space limit parameter. If the total space usage exceeds the limit, an error will be reported to prompt you to release the space or upgrade the specification.
    • Added the `innodb_ncdb_log_priority` read-only parameter, which indicates the priority of the source instance's backend log thread.
    • Added the `innodb_ncdb_apply_priority` read-only parameter, which indicates the priority of the read-only instance's log replay thread.
    • Added the `innodb_ncdb_fast_shutdown` dynamic parameter, which controls whether to quickly shut down processes. After it is enabled, when a process exits, no destruction operations on the global structure will be performed, which reduces the shutdown time. It is disabled by default.
    • Added the `innodb_max_temp_data_file_size` read-only parameter. Its default value is 128 MB. If its value is greater than 0, it indicates the maximum size of the temp tablespace in the local storage.
Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support