tencent cloud

Feedback

Database Kernel Version Release Notes

Last updated: 2024-04-08 15:21:50
This document describes the version updates of the TDSQL-C for MySQL kernel.
Note:
If you need to upgrade the kernel version, see Upgrading Kernel Minor Version. If you want to learn about the release dates of each kernel version, see Kernel Overview.
TDSQL-C for MySQL 8.0 Kernel Release Notes
TDSQL-C for MySQL 5.7 Kernel Release Notes
Minor Version
Description
3.1.10
Feature updates
Supported binlog subscription for ‌read-only instances.
Supported blackhole engine.
Updated parallel query: Support parallel queries for full-table scans, full index scans, and index range scans; support variance and standard deviation functions; support setting parallel policies with the LIMIT syntax; and support Prepared Statement (PS) query mode.
‌Supported [dynamic thread pool].
‌‌Supported NOWAIT syntax.
Supported flashback query.
‌Supported invisible index.
Bug fixes
Fixed the issue of excessive columns caused by INSTANT ADD on partitioned tables. The default algorithm for DDL has been changed from INSTANT to INPLACE. To use instant DDL, you need to specify algorithm = instant.
Fixed the issue of prohibiting tables with a column name "fts_doc_id" from executing instant DDL.
‌Optimized buffer pool resizing.
Optimized the splitting logic of operator splitting for items in parallel queries.
Fixed the performance degradation caused by the failure of binary search in the IN operator in PS mode.
Optimized the query efficiency for full table count(*) in parallel queries.
Fixed the issue where the stage variable error in Parallel DDL caused the stage null pointer to crash when creating FTS indexes.
Fixed the possible crash when adding full-text indexes.
Fixed the issue of GTID loss caused by the HA switch in certain scenarios.
Fixed the issue of possible crash triggered by executing show create table after killing the mysqld process during DDL.
Fixed the issue of premature release of the FTS cache lock in full-text indexing, which caused inconsistency between reads and writes.
Fixed the issue of data inconsistency between source and replica caused by transaction rollback during the DDL commit process.
Fixed the issue of deadlock occurred when killing a transaction and dropping a database during the process of creating a temp table and inserting data.
Fixed the issue of failure when users perform operations on a database with the same name as the MySQL system database.
Fixed the issue where Canal was unable to obtain the GTID starting point through show master status when extracting binlogs via read-only instances.
3.1.9
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.
Bug 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.
3.1.8
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.
Bug 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.
3.1.7
Feature updates
Added the password dictionary parameter as described in Configuring Custom Password Strength, 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.
3.1.6
Bug 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.
3.1.5
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 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.
Bug 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 was enabled after optimization.
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.
3.1.3
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.
Bug 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.
3.1.2
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.
Supports 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).
Bug 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.
Optimizes 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.
3.1.1
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.
Bug 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.
3.0.1
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.

Minor Version
Description
2.1.10
Feature updates
Supported binlog subscription for ‌read-only instances.
Supported blackhole engine.
‌Supported buffer pool resizing.
Bug fixes
Fixed the issue of frequent disconnections when extracting binlogs via read-only instances.
2.0.23/2.1.9
Feature updates
‌Supported dynamic thread pool.
‌‌Supported NOWAIT syntax.
‌‌‌Supported returning.
‌‌‌‌Supported auto-increment column persistence.
‌Supported invisible index.
‌‌Supported computation pushdown.
‌‌‌Supported buffer pool initialization.
Bug fixes
Fixed the issue of GTID loss caused by the HA switch in certain scenarios.
Fixed the issue of possible crash triggered by executing show create table after killing the mysqld process during DDL.
Fixed the issue of premature release of the FTS cache lock in full-text indexing, which caused inconsistency between reads and writes.
2.0.22/2.1.8
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.
Bug fixes
Fixed the repeated crashes of the compute instance when the upper limit of the space was reached.
2.0.21/2.1.7
Feature updates
Added the password dictionary parameter as described in Configuring Custom Password Strength, 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.
2.0.20/2.1.6
Bug fixes
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.
Fixed the issue where creating a temp table in a read-only instance might cause a deadlock.
2.0.19
Feature updates
Supported logical backup for read-only instances.
Supported database proxy. For more information on how to use this feature, see Database Proxy Overview.
Supported parallel replication of binlogs at the table level.
Supported setting the change buffer and merge modes.
Supported show detail processlist.
Bug fixes
Fixed the official Bug#22991924 related to the JSON character set.
Merged the official bugfix for Bug#25865525 to solve the issue where LOAD DATA INFILE failed to read escape characters plus UTF8 characters.
Merged the official bugfix for Bug#31529221 to fix the issue where the error Incorrect key file was reported upon ALTER TABLE failure.
Merged several official bugfixes related to column generation and cascading deletion, including Bug#33053297, Bug#32124113, and Bug#29127203.
Fixed the official Bug#31599938 where resetting the source caused a crash when binary logging was disabled in the replica.
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.
2.0.17
Feature updates
Supported adding the binlog with the specified filename to an index file.
Bug fixes
Merged the official bugfix for Bug#25865525 to solve the issue where LOAD DATA INFILE failed to read escape characters plus UTF8 characters.
2.0.16
Performance optimizations
Optimized undo space truncate to improve the speed of undo truncate on large-spec instances.
Optimized the performance of large-scale queries on read-only instances.
Bug fixes
Fixed the issue where backup lock couldn't be locked due to the lock table statement.
Fixed the issue where table share went wrong for the read-only instances after thousands of columns were added through INSTANT ADD.
Fixed the replay error when the content of binlog contained escaped keywords.
Fixed the issue where externally prepared XA transactions were not explicitly rolled back and thus blocked normal shutdown.
Fixed the issue where the warning "tablespace -1 not found" was reported during read-only instance startup.
2.0.15
Feature updates
Supported the extended table space: When a single table space exceeds the innodb_ncdb_extend_space_threshold configuration, a new table will be created in the extended table space.
Added new JSON functions: JSON_MERGE_PRESERVE, JSON_MERGE_PATCH, JSON_PRETTY, JSON_STORAGE_SIZE, JSON_ARRAYAGG, JSON_OBJECTAGG.
Optimized the table lock recovery process at system startup to shorten the startup time.
Bug fixes
Fixed the bugs for the group by performance issue in text columns and multiple issues related to virtual columns.
Fixed the possible crash when large transaction rollback and shutdown operations were performed concurrently after instance startup.
Fixed the issue where repeatedly failed IO retries of related pages caused instance exit after undo space truncate failed.
Fixed the crash when statistics update accessed the snapshot cache for disabled read-only instances.
Fixed the issue where the truncation log might be behind the truncate operation in undo space truncate.
Fixed the bug where an error in ICP check for partitioned table scan resulted in slow query.
Fixed the crash when the previous scan in a read-only instance encountered the partial replay of a split index log.
2.0.14
Feature updates
Supported INSTANT MODIFY COLUMN. For more information, see Instant DDL Overview.
Bug fixes
Fixed the issue where the used space was not reclaimed when a temp table in a read-only instance was dropped.
Fixed the issue where the process exited when a read-only instance read the old page version due to changes in storage routes.
Fixed the issue of possible crash when information_schema.metadata_locks was queried.
Fixed the concurrency error of forward scan and B-tree SMO in read-only instance.
Fixed the issue where when multiple tables had complex foreign key dependencies and the foreign key attribute was ON DELETE CASCADE, the corresponding record in a child table might be deleted twice when a record was deleted in its parent table with DELETE.
Fixed the issue where the process exited due to operations such as CREATE USER in a read-only instance.
Fixed the issue where SHOW VOLUME STATUS in a read-only instance might trigger an assertion failure.
Fixed the issue where a read-only instance had abnormal query results and crashed when DDL operations were performed in partitioned tables frequently.
Fixed the issue where the process crashed during historical version construction when an read-only instance scanned a purged undo log.
2.0.13
Feature updates
Supported INSTANT ADD COLUMN. For more information, see Instant DDL Overview.
Optimized the audit performance under high load and added the lock_usleep_time dynamic parameter.
Bug fixes
Fixed the issue where dict_operation_lock might cause deadlock during foreign key check.
Fixed the issue where the process might exit when the ACL change log was replayed during read-only instance startup.
Fixed the issue where data in source and replica instances was inconsistent after INSTANT ADD COLUMN and TRUNCATE TABLE.
Fixed the log replay error occurring when data was inserted again after INSTANT ADD COLUMN and TRUNCATE TABLE.
Fixed the issue where the process exited when a primary key containing a column added by INSTANT ADD COLUMN was created.
Fixed the issue where the process exited during table structure query in a read-only instance when INSTANT COLUMN was used to create or rebuild a partition.
2.0.12
Feature updates
Supported database audit. For more information on how to use it, see Enabling TDSQL-C for MySQL Audit.
Supported purging page read-ahead to accelerate space reclaim.
Supported real-time update of the size information of tables and indexes in the system view.
Added a thread to accelerate recycle LSN and storage GC.
Bug fixes
Fixed official bugs in full-text index, including Bug#24938374, Bug#21625016, Bug#27082268, Bug#27155294, Bug#27326796, Bug#27304661, Bug#25289359, Bug#29717909, and Bug#30787535.
Fixed official bugs where concurrent update might cause system crashes, including Bug#30950714, Bug#31205266, and Bug#25669686.
Fixed the official Bug#28104394 where uncommitted INSERT operations would affect the range scan created by an index and made it return an incorrect number of rows.
Fixed the official Bug#30488700 where an incorrect query execution plan of a derived table could result in a poor performance.
Fixed the issue where the process exited when a read-only instance replayed statistics logs after the source (read-write) instance executed a DDL statement.
Fixed the issue where RENAME TABLE was performed on a database that did not exist.
Fixed the issue where a read-only instance might exit when OPTIMIZE TABLE was used for the source instance.
Fixed the issue where transactions were inconsistent after a table with a full-text index was updated in a read-only instance.
Fixed the deadlock occurring during SET OFFLINE MODE and SHOW VARIABLES operations.
2.0.11
Feature updates
Optimized the binlog file index to accelerate binlog file scan.
Optimized the shutdown process to make it faster.
Optimized the instance memory to reduce the memory usage by structures such as buffer, ZIP, and hash.
Optimized the DDL lock recovery process during read-only instance startup to accelerate replay.
Optimized system table loading in read-only instance to accelerate startup.
Optimized worker thread assignment during PURGE COORDINATOR to accelerate purge.
Bug fixes
Fixed the issue where the process crashed during OPEN TABLE due to incorrect index structure mapping.
Fixed the issue where read-only instance replication was abnormal during XA transaction rollback.
Fixed the issue where startup crashed when binlog replication was started in a read-only instance.
Fixed the memory leak caused by FLUSH LOGS.
Fixed the shutdown failure of mysqladmin shutdown.
Fixed the issue where a read-only instance failed to replay logs when DROP COLUMN was performed on the source instance.
Fixed the issue where data could still be input after space restriction was triggered when a BLOB was inserted.
Fixed the issue of read-only instance replication availability that might be caused by DDL statements in big tables or slow log storage in the source instance.
Fixed the issue where storage wasted small tables after innodb_max_temp_data_file_size was set for a temp table.


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