All Products
Search
Document Center

PolarDB:PolarDB for MySQL 8.0.1 release notes

Last Updated:Mar 26, 2026

This topic describes the release notes and features for PolarDB for MySQL 8.0.1.

2026

8.0.1.1.54 (2026-03-24)

New features

Description

  • Introduced the search view feature in PolarSearch, which enables auto-ETL from PolarDB for MySQL to PolarSearch and simplifies data synchronization.

  • Traditional InnoDB compressed tables risk data corruption when BLOCK_SIZE is less than 4. To address this, this version introduces the polar_compressed_table_policy system variable to manage the compression policy for new tables.

    • NATIVE: Executes the operation as is.

    • ADJUST_KEY_BLOCK_SIZE (default): Allows table creation and automatically corrects the KEY_BLOCK_SIZE if it is less than 4.

    • AUTO_CONVERT_ROW_FORMAT: Silently converts the table to the default row format.

    • REJECTED: Rejects the operation and reports an error.

    Note
    • This policy applies only to new compressed tables. Existing compressed tables are not affected.

    • For clusters with a kernel version earlier than 8.0.1.1.54, we recommend that you avoid creating InnoDB compressed tables with a BLOCK_SIZE of less than 4.

  • Added the ability to directly connect to Alibaba Cloud Model Studio by using the ask_polar expression.

  • The data cleanup (TTL) feature now supports the DATETIME data type. Previously, it only supported the TIMESTAMP data type.

Performance optimizations

Description

Bug fixes

Description

  • Fixed an issue where the transaction persistence feature of fast failover could occasionally cause transaction loss in the columnar index (IMCI), leading to data inconsistency between row and columnar storage.

  • Fixed an issue where an instant add column operation with a long string default value, when converted to asynchronous execution, could cause a memory exception, invalidating the default value.

  • Fixed an issue where the optimized histogram sampling process could continuously block DML operations.

  • Fixed an issue in the columnar index (IMCI) where a filter condition was incorrectly pushed down past a LIMIT clause, which could lead to incorrect results.

  • Fixed an issue where, with the query cache enabled, the latest results could not be promptly read from a materialized view after it was refreshed.

  • Fixed an issue where statistics collection for In-Memory Column Index (IMCI) might fail and prevent statistics from being updated when the low-cardinality column sampling enhancement (imci_stats_scan_max_ndv) was enabled.

  • Fixed an issue that caused a crash when an expression containing Item_trigger_field in a filter condition was pushed down into the inner side of a derived table.

  • Fixed an issue where an SQL statement parsing error might occur when you use dbms_outln.add_optimizer_outline_sharding for sharded tables.

  • Fixed an issue where executing the ALTER TABLE ... ADD COLUMN ... DEFAULT statement caused an error when Binlog was enabled.

  • Fixed an issue where the cardinality statistics for a partitioned table were NULL in the output of the SHOW INDEX statement.

  • Fixed an issue that could cause Orca (Redis-compatible) to crash when pcur is used to clean up expired keys. The pcur method is replaced with a key storage method.

  • Fixed an issue where concurrency control (CCL) was not effective for the DELETE xx FROM ... syntax (does not affect the DELETE FROM ... syntax).

  • Fixed an issue where JSON_TABLE intermittently crashed in a trigger execution path.

8.0.1.1.53 (2026-01-24)

New features

Description

Performance optimizations

Description

  • Optimized the metadata management mechanism for the high-compression engine (X-Engine). This optimization periodically releases the manifest log and old versions of the manifest checkpoint to prevent additional storage consumption caused by the continuous growth of metadata files.

  • Optimized the I/O read and write efficiency of binary log index files. This optimization prevents transaction commit delays or freezes caused by I/O contention in clusters with a large number of binary log files.

  • Optimized the query performance of the columnar index (IMCI) for queries that contain a filter condition with an IN-list of long strings.

  • Optimized the execution efficiency of group aggregation (HashGroupby). This optimization introduces vectorized hash table probing, which improves group aggregation performance while slightly reducing memory consumption during the computation process.

  • Optimized the query plan search process to accelerate join order selection for multi-table queries, reducing the overall optimization time for complex SQL queries.

  • Removed the limit on the number of partitioned tables.

Bug fixes

Description

  • Fixed an issue in the columnar index (IMCI) where the high-performance HashJoin operator could lose rows from the result set when processing a RIGHT JOIN with data spilling to disk.

  • Fixed an issue where the optimizer inaccurately estimated the number of rows for an ordered index scan in specific query paths.

  • Fixed an issue where statistics might not be collected as expected for string columns that use a wide character set such as utf8, even if a short length was defined.

  • Fixed a low-probability issue where replication could stall on a columnar index read-only node during frequent DDL operations, leading to data latency on the node.

  • Fixed an issue that could cause an out-of-bounds memory access in a LIMIT BY ? statement with a placeholder when the binary protocol is used.

  • Fixed a crash that could occur when the query cache was enabled while accessing a partitioned table in the high-compression engine (X-Engine).

  • Fixed an issue where the PCUs of a low-specification serverless node for the columnar index (IMCI) would repeatedly scale up and down under no load.

2025

8.0.1.1.52 (2025-12-12)

New features

Description

  • Added support for automatically synchronizing data from PolarDB for MySQL to PolarSearch. This feature automatically syncs data to search nodes, improving synchronization and aggregate analysis of massive datasets.

  • Added the redo log compression feature for DDL operations, which significantly reduces the amount of redo logs generated during DDL execution and improves redo efficiency.

  • You can now specify the execution node for materialized view refresh tasks.

  • Added support for an aggregation node in a multi-master cluster to asynchronously read redo logs, which improves the rate at which the node merges redo logs.

  • Added a monitoring metric for Orca (Redis-compatible) to track the number of pending tasks. This metric shows the number of tasks in the task queue that are waiting to be executed, which helps you analyze and monitor task latency.

  • Added support for specific SQL patterns for IMCI. Now, complex queries that contain ROLLUP and include functions in projected columns that contain subqueries with aggregate functions can also be pushed down to IMCI for acceleration.

  • Added support for full-text indexes in In-Memory Column Index (IMCI), effectively improving fuzzy search performance.

  • Added several core monitoring metrics for Orca (Redis-compatible). The new metrics, such as active connections, new connections, and memory usage, enhance cluster observability.

  • Added a dynamic switch to control cursor position adjustments on read-only (RO) nodes.

Performance optimizations

Description

  • The query execution strategy for In-Memory Column Index (IMCI) is optimized with adaptive grouped aggregation execution enabled by default. This feature automatically selects the most efficient aggregation algorithm based on data distribution and query characteristics to improve the performance of analytical queries that contain a GROUP BY clause.

  • Optimized the Hash Join operator in In-Memory Column Index (IMCI), improving performance for all queries that use it, with significant gains in Semi Join scenarios.

  • Optimized the performance of the large transaction optimization feature for binary logs in external XA transaction scenarios.

  • Optimized the metadata management mechanism for the high-compression engine (X-Engine) to periodically release the manifest log and old versions of the manifest checkpoint, preventing additional storage space consumption caused by the continuous growth of metadata files.

  • Reduced the overhead of binary log file switching to prevent transaction commit blocking when many binary log files are retained.

  • Refactored the internal command processing structure and lock paths of Orca (Redis-compatible), improving its overall read and write performance by approximately 10%.

Bug fixes

Description

  • Fixed an issue that caused inaccurate dbsize statistics in Orca (Redis-compatible) when a key was written immediately after being deleted.

  • Fixed an issue where In-Memory Column Index (IMCI) did not support queries that contained system variable fields.

  • Fixed an issue where statistics collection could fail on tables with frequent update and delete operations, and improved the efficiency of data sampling.

  • Fixed an issue where the restore command in Orca (Redis-compatible) omitted the Time to Live (TTL) information when restoring an expired Hash field.

  • Fixed a potential out-of-memory (OOM) issue in the Serverless feature for In-Memory Column Index (IMCI). The issue occurred when the cache quota was not reclaimed promptly after a rapid scale-up and subsequent scale-down.

  • Fixed an issue where restarting an In-Memory Column Index (IMCI) node for column index recovery was slow due to loading an excessive number of irrelevant NCI files.

  • Fixed an issue where a query might return an incorrect result set when its WHERE clause contains multiple IN-lists and an ORDER BY clause.

  • Fixed an issue where a Duplicate entry error might be reported when a DDL operation, such as RENAME TABLE, is performed on a table that includes a view after an HA switchover.

  • Fixed an issue where the NCI purge page operation for In-Memory Column Index (IMCI) interfered with the efficiency of the flush page operation in rare cases.

  • Fixed a data synchronization anomaly on the aggregation node of a multi-master cluster after the async reader feature was enabled. This was caused by an incorrect calculation of the parse offset.

  • Fixed an issue where an abnormal index state continuously triggered proactive scaling for the Serverless feature of In-Memory Column Index (IMCI).

  • Fixed an issue in Multi-master Cluster (Limitless) Edition where a read/write node might fail when refreshing a scheduled materialized view created by another read/write node.

  • Fixed a performance issue where UNION queries that contain a large number of query_blocks would max out a single CPU core. This issue was caused by the excessive execution time of the find_cloned_select_lex function.

  • Fixed an issue where the query optimizer failed to perform partition pruning on the inner partitioned table when processing nested join queries, improving the query performance of partitioned tables in relevant scenarios.

  • Fixed an issue with In-Memory Column Index (IMCI) where multiplication operations on DECIMAL data with more than 16 decimal places could produce incorrect results.

  • Fixed an issue where a SELECT statement that contained both an IN-List and an aggregate function with DISTINCT prevented the query from being pushed down to the IMCI for execution.

  • Fixed multiple issues that could cause a cluster crash when the buffer pool size is much smaller than the memory required by materialized tables.

  • Fixed an issue in a Multi-master Cluster (Limitless) Edition where background tasks could be interrupted if a read/write node was deleted after an access point switchover.

  • Fixed an issue where a standby node might hang during the recovery phase in point-in-time restore (PITR) or database and table restoration scenarios.

  • Fixed an issue where the ETL feature of In-Memory Column Index (IMCI) did not support the JSON_TABLE function, and optimized the error message for out-of-memory IMCI queries.

  • Fixed an issue where released memory was still in use after a functional index creation failed and was rolled back.

  • Fixed an issue where, with the innodb_blob_slave_read_consistent parameter enabled, querying the length of a JSON object under specific boundary conditions caused a read-only node to return the The JSON binary value contains invalid data error.

  • Fixed an issue where statistics for non-BIGINT integer columns could be inaccurate, causing the query optimizer to fail to generate an optimal execution plan.

  • Fixed an issue where queries with recursive Common Table Expressions (CTEs) could not be pushed down to the In-Memory Column Index (IMCI).

  • Fixed an issue where older version clusters occasionally crashed during query execution with the adaptive aggregation feature enabled.

  • Fixed an issue where existing binlog dump connections could hang and affect binlog cleanup after a read-only node is switched to a primary node.

  • Fixed an issue where an NCI insertion into the lru cache for an In-Memory Column Index (IMCI) failed to trigger the automatic scaling mechanism.

  • Fixed a data inconsistency issue on read-only nodes. This issue could occur in specific scenarios when reading large JSON fields or frequently, partially updated JSON fields.

  • Fixed a defect in Elastic Parallel Query that could cause a process crash when multiple subqueries referenced the same field from an outer query but selected different pushdown strategies.

  • Fixed an issue where inaccurate memory usage calculation caused some queries to incorrectly return an OOMError and fail.

  • Fixed an issue where adding a columnstore index to a table without a primary key but with a unique key could cause a processing error.

  • Fixed an issue where performing an online DDL operation on a table with a columnstore index caused an out-of-memory (OOM) error on a read/write node due to the default batch write mechanism.

8.0.1.1.51.2 (2025-11-05)

Performance optimizations

Description

Improved the efficiency of binlog file switching when many files are retained, which reduces switchover time and prevents transaction commit blocking.

Bug fixes

Description

  • Fixed an issue where dynamically disabling the thread pool feature (that is, setting the loose_thread_pool_enabled parameter to OFF) could cause a connection to hang after a DDL statement was executed.

  • Fixed an issue where read-only IMCI nodes consumed excessive memory after large transactions were executed.

8.0.1.1.51.1 (2025-10-16)

New features

Description

Added a dynamic switch to control the cursor position adjustment feature on read-only (RO) nodes.

Bug fixes

Description

  • Fixed an issue where, when using Hybrid Plan acceleration for wide table queries with In-Memory Column Index (IMCI), a query optimization that converts the AVG function to SUM/COUNT caused the query to unexpectedly fall back to row-store execution.

  • Fixed an issue where creating a partitioned table on a read/write (RW) node was excessively slow after the Parallel Parse feature was enabled.

8.0.1.1.51 (2025-09-29)

New features

Description

  • Added support for full materialized views. This feature pre-computes and stores complex query results to provide faster responses for reporting and analysis scenarios that involve large volumes of static or quasi-static aggregate data.

  • Added support for Orca (Redis-compatible), which is compatible with Redis 7.0 and earlier protocols. Orca is a built-in in-memory database service in PolarDB that allows you to access the database by using the Redis protocol. It is suitable for scenarios that require a high-performance key-value cache to accelerate application access. The database __orca_in_polardb_m_ that is created by default for this feature does not consume storage space when not in use.

  • Orca (Redis-compatible) now supports AUTH password authentication for the default account. When the default account is configured, clients can use the standard Redis AUTH command to authenticate, which enhances the access security of the Orca service.

  • Added adaptive execution support for index condition pushdown scenarios.

  • Added the rds_max_tmp_disk_space parameter to limit the total disk space used by temporary tables from all sessions in a single cluster.

  • Added a fast recovery feature to the row-column mapping module for In-Memory Column Index (IMCI). This feature greatly reduces the time a column index is in the LOADING_NCI state after a column store node restarts, enabling the index to recover in seconds.

Performance optimizations

Description

  • Optimized the allocation strategy for BLOB pages. When serialized dictionary information (SDI) is enabled, pre-allocation of BLOB pages is disabled to prevent unnecessary storage waste caused by frequent SDI updates, which improves space utilization.

  • Optimized the metadata loading mechanism for In-Memory Column Index (IMCI) nodes. This resolves potential out-of-memory (OOM) issues during node restarts in large-scale data scenarios, which were caused by excessively long metadata lists.

  • Standardized the naming convention for local files related to In-Memory Column Index (IMCI). The names no longer vary by node role, which simplifies file management during HA switchovers.

Bug fixes

Description

  • Fixed an issue where DDL statements on a newly created read-only (RO) node could fail after an HA switchover due to a failure in modifying the serialized dictionary information (SDI). This ensures the stability of DDL operations after an HA switchover.

  • Fixed an issue where a Multi-master Cluster (Limitless) Edition could crash during an HA switchover.

  • Fixed an issue where wild pointer access could occur when an index is released during an INSTANT DDL operation on an In-Memory Column Index (IMCI).

  • Fixed a crash that could occur during a high availability (HA) switchover under high write pressure after a scale-out operation that did not involve initialization.

  • Fixed an issue where point-in-time restore (PITR) tasks could occasionally fail after the Parallel Parse feature was enabled.

  • Fixed an exception that could occur when adding an In-Memory Column Index (IMCI) to a table that had no primary key but contained a unique key.

  • Fixed an issue in Multi-master Cluster (Limitless) Edition where in an HA switchover scenario, the cluster might fail to start or data could not be persisted after the switchover.

  • Fixed an issue in Multi-master Cluster (Limitless) Edition where executing a CREATE ... IF NOT EXISTS statement on an aggregation node caused gaps in gtid_executed.

  • Fixed an issue in Multi-master Cluster (Limitless) Edition where executing DML operations on an In-Memory Column Index (IMCI) table could trigger a crash on the read/write node after a local read-only node was hot-swapped to a read/write node.

  • Fixed an issue where the Delta module of In-Memory Column Index (IMCI) accessed a null pointer during serialization due to incomplete logic for identifying rolled-back rows, which could cause a cluster crash.

  • Fixed an issue where Time to Live (TTL) information was lost during a CREATE PARTITION TABLE operation because the primary Data Dictionary (DD) was not updated.

  • Fixed an issue where In-Memory Column Index (IMCI) queries that contain both DISTINCT and AVG aggregate functions might return incorrect results.

  • Fixed a potential query performance degradation in Multi-master Cluster (Limitless) Edition under heavy load.

  • Fixed an issue where some queries could not be pushed down to the columnstore index for execution when the imci_implicit_orderby_rollup parameter is enabled.

  • Fixed an issue where replication latency could occur on read-only IMCI nodes in scenarios with frequent DDL operations.

8.0.1.1.50.2 (2025-08-26)

Bug fixes

Description

  • Fixed a rare issue where the background purge process could corrupt a secondary index during a transaction rollback.

  • Fixed an issue where a read-only node might temporarily fail to query some records during a B-tree index restructuring triggered by a high write workload.

8.0.1.1.50.1 (2025-08-12)

Bug fixes

Description

  • Fixed an issue in the In-Memory Column Index (IMCI) feature where a node could crash when a deltastore executes a swap task, because the pax page length overflowed a uint32 or a null pointer was encountered.

  • Fixed an issue where file operations on a follower in a single-writer, multiple-reader In-Memory Column Index (IMCI) setup were unexpectedly prohibited due to an improper initialization order of global variables.

8.0.1.1.50 (2025-07-17)

New features

Description

  • The functionality of window functions has been enhanced to support the FRAME clause. This allows you to more precisely define the calculation scope in ROWS and RANGE modes, increasing the flexibility for complex analytical queries.

  • A new query-level Pruner statistical metric is added for In-Memory Column Index (IMCI). You can query the INFORMATION_SCHEMA.IMCI_SQL_PROFILING view to understand the pruning efficiency of data blocks for the TableScan operator during execution, which allows you to more precisely analyze and optimize query performance.

  • Added support for modifying auto-increment column values in X-Engine by using online DDL. This update allows you to perform modifications without blocking DML operations, ensuring business continuity.

  • Query pushdown for In-Memory Column Index (IMCI) has been enhanced to support complex SQL queries that contain ROLLUP and subqueries with aggregate functions in the projection columns. This allows more types of analytical and reporting queries to benefit from the performance improvements of IMCI.

  • In-Memory Column Index (IMCI) now supports the JSON_ARRAYAGG expression. This function aggregates multiple rows from query results into a single JSON array, enhancing the ability to process JSON data.

Performance optimizations

Description

  • Optimized the scheduling mechanism of the elastic background thread pool for In-Memory Column Index (IMCI). This significantly reduces CPU usage when fetching task statuses, thereby lowering system overhead and freeing up more computing resources for core services.

  • Improved the efficiency of Page Apply during the physical replication process. By avoiding the physical replication latency caused by reading cold data from a node, it reduces the possibility of occasional jitter and enhances the stability of data synchronization.

  • Optimized the decommissioning logic for column-store nodes. By making the cleanup of junk files asynchronous and optimizing throttling, the node decommissioning process is smoother and has less impact on running services.

  • Merging window functions with the same PARTITION BY definition improves the execution efficiency of In-Memory Column Index (IMCI) when processing complex analytical queries.

  • Improved the performance of the HashJoin operator in In-Memory Column Index (IMCI). Optimizations to the build process and implementation of its internal Hash table accelerate the processing of join queries.

  • Hybrid Plan in In-Memory Column Index (IMCI) now supports executing queries on tables without an explicitly defined primary key. This expands the applicability of hybrid row-column storage, allowing its performance advantages to be utilized even if the table schema does not include a primary key.

  • Added the adaptive_digest_length_multiplier parameter. You can use this parameter to adjust the amount of memory pre-allocated for an SQL digest by setting an appropriate multiplier for the SQL text length to optimize memory usage.

  • Reduced the lock granularity in the snapshot retention feature of read-only IMCI nodes. This effectively prevents occasional freezing of monitoring information caused by long lock waits and improves system observability.

Bug fixes

Description

  • Fixed an issue where some eligible queries were not correctly dispatched to the In-Memory Column Index (IMCI) for execution when the imci_implicit_orderby_rollup parameter was enabled, ensuring the stability of the query acceleration feature.

  • Fixed an issue where the table_name cache in the INFORMATION_SCHEMA view for an In-Memory Column Index (IMCI) was not promptly updated after a RENAME operation was performed on a partitioned table, thereby ensuring metadata consistency.

  • Fixed an issue where an update task based on outdated columnstore index information could trigger an assertion failure after an INSTANT DDL commit, improving the stability of the INSTANT DDL feature.

  • Fixed an issue in PREPARE EXECUTE mode where string types could incorrectly use the collation information from character_set_client, ensuring correct character set handling.

  • Fixed an issue where Sharding Outline could not correctly support table aliases and ORDER BY/LIMIT BY clauses due to a defect in the token calculation logic.

  • Fixed an issue where some statements in PREPARE STATEMENT mode were not correctly routed to the In-Memory Column Index (IMCI) for execution, ensuring that prepared statements can also benefit from performance acceleration.

  • Fixed an issue where the In-Memory Column Index (IMCI) Delta module accessed a null pointer and caused a cluster crash because it failed to check for rolled-back rows when serializing data.

  • Fixed an issue where Index Join in the Hybrid Plan of IMCI occasionally reported an Assertion failed: false error when executing queries on partitioned tables.

  • Fixed an issue where an invalid json error could be returned in some scenarios when you read JSON data from a read-only (RO) node. This fix ensures data format consistency between read-only and read/write nodes.

  • Fixed an issue where query results from In-Memory Column Index (IMCI) and the row store might be inconsistent when the first parameter of the json_valid function is of the varchar type.

  • Fixed an issue that could cause a cluster crash when a NULL value is updated to an empty string in a table that uses the REDUNDANT row format and has Instant DDL enabled.

  • Fixed an issue of occasional inaccurate timing when analyzing an In-Memory Column Index (IMCI) query by using imci_analyze_query. This improves the reliability of the performance analysis tool.

  • Fixed an issue where accessing a partitioned table after restoring it with the database and table restoration feature could cause an exception. This occurred if the table involved Instant DDL and had 10 or more partitions.

  • Fixed an issue where queries containing unsupported user-defined functions were incorrectly routed to In-Memory Column Index (IMCI) by the adaptive distribution mechanism, which caused an error.

  • Fixed an issue where In-Memory Column Index (IMCI) might return an Out of Memory (OOM) error when processing a GROUP BY operation on a very large volume of variable-length strings.

  • Fixed an issue where the cluster could crash during BNL (Batch Nested-Loop) execution when a CTE is executed with a SEMI JOIN DuplicateWeedout.

  • Fixed a memory leak in the internal thread pool of In-Memory Column Index (IMCI) that occurred during elastic scale-in. This prevents memory leaks when adjusting the PCUs of a Serverless cluster.

  • Fixed a deadlock issue caused by adding unnecessary unique key (UK) index transaction locks, which improves system stability in high-concurrency scenarios.

  • Fixed an issue where a loading task could hang if DROP INDEX was executed concurrently while an IMCI was executing LOADING_NCI.

  • Fixed an issue where queries occasionally could not use a Hybrid Plan after global consistency (high-performance mode) was enabled. This ensures the correct selection of query plans in high-performance mode.

8.0.1.1.49.2 (2025-06-11)

Bug fixes

Description

  • Fixed an issue where point-in-time restore (PITR) operations could not guarantee idempotence in parallel parsing mode.

  • Fixed a data inaccuracy issue that could be caused by online DDL in In-Memory Column Index (IMCI) in version 8.0.1 and later.

  • Fixed an issue where an Index Join in a Hybrid Plan for an In-Memory Column Index (IMCI) could cause a crash when executing an Anti Semi Join with a Post Filter.

  • Fixed an issue where the window function feature could produce an abnormal result set when internal temporary table data was flushed to disk.

  • Fixed a crash that could occur in Time to Live (TTL) if a transaction was rolled back due to a deadlock during data cleanup.

  • Fixed a crash that could occur if the Time to Live (TTL) thread was shut down without releasing the transaction (trx) object.

  • Fixed a potential out-of-memory (OOM) issue when In-Memory Column Index (IMCI) performed a sort compaction.

8.0.1.1.49.1 (2025-05-21)

Bug fixes

Description

Fixed a memory leak in the internal thread pool of In-Memory Column Index (IMCI) that occurred during elastic scale-in, which prevents memory leaks when the PolarDB Capacity Unit (PCU) of a Serverless cluster is dynamically adjusted.

8.0.1.1.49 (2025-04-25)

New features

Description

  • The TTL feature now lets you set an expiration time for data, after which it automatically expires.

  • Added the EXPLAIN DDL feature, which allows you to query the execution characteristics of specific DDL statements.

  • The Serverless feature for read-only (RO) nodes can now reclaim unused memory from the parse buffer (parse buf), reducing memory usage.

  • Added support for asynchronous I/O and Partition I/O for redo logs in a Multi-master Cluster (Limitless) Edition.

  • Added a cost threshold to control the automatic routing of queries between row and column stores for adaptive execution.

  • In In-Memory Column Index (IMCI), a Hybrid Plan's Index Join now supports Semi Join and Anti Semi Join modes.

Performance optimizations

Description

  • Improved the performance of In-Memory Column Index (IMCI) queries that use an IN-list.

  • Optimized the Hash Groupby implementation in In-Memory Column Index (IMCI). It now adaptively selects partitioning strategies and algorithms based on data distribution characteristics to improve query performance.

  • Optimized the query optimizer's logic for handling subqueries, significantly improving the performance of In-Memory Column Index (IMCI) when processing complex IN and EXISTS subqueries.

  • Addressed a performance degradation issue that occurred when the max_execution_time parameter was used under high concurrency.

Bug fixes

Description

  • Fixed an occasional issue of memory block accumulation on an ImciFollower in a multi-node shared architecture for In-Memory Column Index (IMCI).

  • Fixed an issue where WITH ROLLUP might not correctly output NULL values when the column in the GROUP BY clause contained an expression.

  • Fixed an occasional issue where a column-store node accessed cached data from before a DDL operation.

  • Fixed compatibility issues with the Fast import feature when used with partitioned tables and Instant Columns.

  • Fixed an issue where In-Memory Column Index (IMCI) was unable to control the sorting of query results for queries with ROLLUP by using the (imci_implicit_orderby_rollup) parameter.

  • Fixed an issue where accessing a spatial index on a read-only node could retrieve duplicate data.

  • Fixed a scale-in issue with In-Memory Column Index (IMCI) in a Serverless cluster when the primary node was a large instance type.

  • Fixed an issue where In-Memory Column Index (IMCI) did not support the LIMIT 1 clause in SQL subqueries.

  • Fixed an issue where the hybrid materialization Mixoutput for In-Memory Column Index (IMCI) did not perform time zone conversion when reading timestamp data.

  • Fixed an occasional out-of-bounds read/write issue on the ROW LOG when performing ONLINE DDL on a table with a virtual column.

  • Fixed an issue where parallel query results could be incorrect when the subquery contained the HAVING keyword.

  • Fixed an issue where the Redo Cache feature could read dirty data when reading edge redo logs. This could cause the redo log validity check to fail, leading to a cluster crash.

  • Fixed an issue where using the parallel query (PQ) and performance_schema features could cause a cluster crash in high-concurrency scenarios.

  • Fixed an issue where a standby node in a multi-master cluster could crash when switching databases or object access points.

  • Fixed a potential index corruption issue on a secondary index created on a virtual column.

  • Fixed a compatibility issue between the database and table restoration feature and the file space parameter name extension feature.

  • Fixed an issue where adding a read/write node to a multi-master cluster that has a global read-only node caused the new node to fail to start.

  • Fixed an issue where an IMPORT TABLESPACE operation could not be performed due to an unexpected crash during an optimized BLOB write.

  • Fixed an issue where using an extended space parameter name could interrupt a database and table restoration task flow.

  • Fixed an issue where a database and table restoration task could be interrupted if the source table had a columnstore index.

  • Fixed an issue where executing Show Binlog Events on a read-only node returned a file not found error.

  • Fixed a rare issue where, if non-blocking DDL was enabled for a cluster, a statement could not exit normally if the connection corresponding to the DDL was killed.

  • Fixed a compatibility issue for In-Memory Column Index (IMCI) in non-full-group-by scenarios when executing a SELECT DISTINCT query.

  • Fixed a series of issues related to memory elasticity in In-Memory Column Index (IMCI) to improve memory utilization efficiency and cluster stability.

  • Fixed an issue where a cluster could crash in a parallel query scenario when a materialized table with sorting was merged into an outer query.

  • Enabled the kernel of a Serverless cluster's RO node to support a lower limit of 0.25 PCU. Previously, during the specification synchronization between RO and RW nodes, the RO node would not scale down to 0.25 PCU.

  • Fixed a cluster crash that occurred when creating a temporary table with a CREATE TABLE AS SELECT statement.

8.0.1.1.48.1 (2025-03-20)

Bug fixes

Description

Fixed an issue where read requests on a read-only (RO) node would slow down in scenarios with a low redo workload when the multi-version engine feature was enabled.

8.0.1.1.48 (2025-02-21)

New features

Description

  • The DELETE statement now supports index hints, allowing you to specify a particular index by using USE INDEX, FORCE INDEX, or IGNORE INDEX syntax.

  • Added support for sending redo logs to column-store nodes over the network, reducing the IOPS usage of column-store nodes.

  • Added the SM4_encrypt() and SM4_decrypt() functions to implement field-level access encryption using the SM4 algorithm.

  • Added the parallel redo parsing feature for physical replication to improve physical replication performance.

  • The EXPLAIN result now displays the ID of the called Outline. If a statement calls multiple Outlines, their IDs are separated by commas.

  • X-Engine now supports wide tables, with the maximum number of columns increased to 10,000.

  • Added the Resource Management Instructions feature to enable CPU resource isolation at the User and Database levels.

  • Multi-master Cluster (Limitless) Edition now supports local read-only nodes to offload read pressure and provide high availability through switchovers.

Performance optimizations

Description

  • Optimized the global mutex for SHOW VARIABLES to improve performance under high concurrency.

  • Optimized DDL scenarios for X-Engine by automatically enabling its pre-commit feature.

Bug fixes

Description

  • Enabled the kernel of a Serverless cluster's RO node to support a lower limit of 0.25 PCU. Previously, the RO node would not scale down to 0.25 PCU during the specification synchronization between RO and RW nodes.

  • Fixed a crash that could occur if Hybrid Plan was disabled at runtime in In-Memory Column Index (IMCI).

  • Fixed a rare data redundancy issue in columnstore indexes. The issue could be triggered during crash recovery if the cluster was restarted while a large transaction was being executed on a column-store node.

  • Fixed an issue where a query could trigger an exception if all data in a stored data block was identical.

  • Fixed an issue with the Session-level binlog_rows_query_log_events permission to support SQL backup and rollback by using DMS.

  • Fixed an issue in multi-master cluster scenarios where the online DDL process for columnstore indexes did not adapt to the Logical Log Sequence Number (LLSN) logic, resulting in missed replay of columnstore redo logs.

  • Fixed a resource leak during the reclamation of old tablespaces after a DDL change in X-Engine.

  • Fixed an incorrect index selection issue in IMCI queries that use constant range filtering (const between field1 and field2).

  • Fixed an issue that caused a crash in IMCI for partitioned table queries when an Explain for Connection statement was executed for the query in another session.

  • Removed an unnecessary restriction in algorithm selection. Some correlated subqueries can now use the efficient HASH JOIN algorithm.

  • Fixed an issue where IMCI I_S (IMCI-related views in the Information_Schema database) queries with a name filter condition returned incomplete results because a case-insensitive string comparison function was used.

  • Fixed an issue where a failure to obtain a metadata lock (MDL) during the DDL SCAN phase resulted in an error message instead of columnstore index data recovery.

  • Fixed an issue where the gtid_purged variable on a read-only node was not synchronized with the primary node.

  • Fixed an issue where deleting a database in a multi-master cluster could cause the entire cluster to hang.

  • Changed the scope of variables related to global consistency (high-performance mode) to the connection level, allowing the mode to be enabled or disabled through the proxy endpoint.

  • Fixed an issue where TRUNCATE and RENAME table operations in a multi-master cluster could cause the entire cluster to hang.

  • Fixed an issue where X-Engine unexpectedly cleared data block metadata when a read-only node was restarted.

  • Fixed an issue where the MDL lock system could malfunction when the number of connections exceeded 65,536.

  • Fixed an issue where read/write nodes in a multi-master cluster could become unavailable if the cluster contained a large number of database tables.

  • Fixed an issue that caused an error when setting a flagset-type variable, such as optimizer_switch, with duplicate items.

  • Fixed an issue from earlier community versions that caused incorrect join order optimization in multi-table update statements.

  • Fixed an issue in In-Memory Column Index (IMCI) where the status was set incorrectly when multiple runtime filters were pushed down to the same table.

  • Fixed a potential crash when using the SUBSTRING_INDEX expression to process an empty string output from GROUP_CONCAT if the separator length was greater than 1.

8.0.1.1.47.1 (2025-01-07)

Bug fixes

Description

Fixed an occasional data read failure when reading large JSON or GIS fields by using In-Memory Column Index (IMCI).

2024

8.0.1.1.47 (December 19, 2024)

New features

Description

  • Added support for sharded table scenarios in Outline. A single Outline can match all statements with the same template across different sharded tables.

  • Added the ability to dynamically adjust the Order Index selection during execution based on runtime conditions.

  • Introduced parallel Redo log parsing for physical replication to improve physical replication performance.

  • Added the ignore_use_force_index variable to ignore all use or force index hints in statements and Outlines when enabled (this does not affect Index() in a hint).

  • Added the convert_sys_to_filename() and convert_filename_to_sys() functions to convert strings between the system_charset_info and my_charset_filename encodings.

  • Added support for transparent data encryption (TDE) for cold data in OSS.

  • Added support for asymmetric MTT buffers on read/write (RW) and read-only (RO) nodes to enable coordinated MTT optimization between them.

  • The IMCI i_s.imci_index_stats table includes a new PRUNED_PERCENT field, which indicates the Data Skipping percentage for each column index.

  • Enhanced SHOW ProcessList to display whether a session is waiting for thread pool scheduling.

  • You can directly rebuild a columnstore index by modifying pack_shift in the COMMENT without first deleting the index.

Performance optimizations

Description

  • Optimized the dynamic Buffer Pool shrink process to reduce lock contention.

  • Optimized SQL Trace to correctly record SQL and the execution plan when you use Call procedure.

  • Reduced the memory overhead of wide tables with columnstore indexes.

  • Improved the startup speed of columnstore read-only nodes. The columnstore engine can now start independently from a columnstore snapshot LSN.

  • Optimized the thread creation and termination code for logical prefetching and simplified the memory check logic.

  • Reduced the startup time for column store nodes in scenarios with a large number of tables.

  • Improved the performance and reduced the memory usage for large transactions in IMCI.

  • Optimized the performance of materialized hash key expressions in IMCI.

  • Optimized the serverless process for column store nodes. New column store nodes are now added to the proxy to handle traffic only after their indexes are ready.

  • Improved the statistics sampling mechanism in IMCI by increasing the sampling frequency and the proportion of sampled data.

    Optimized the sampling logic for low-cardinality columns to prevent suboptimal query plans caused by inaccurate statistics.

  • Optimized the Simulated-AIO asynchronous performance blocking module.

Bug fixes

Description

  • Fixed an issue where DDL statements on tables with views would fail or not take effect after an HA (node switchover).

  • Fixed an issue where a read-only node might remain out of service after reconnecting to a read/write node.

  • Fixed an issue where the CAST(REGEXP_SUBSTR(...)) AS DECIMAL statement caused a process to crash.

  • Fixed an issue where REGEXP_SUBSTR might incorrectly return NULL.

  • Fixed an issue where the CREATE TABLE statement for the dlm_policies system table was recorded in the BINLOG, causing downstream synchronization to fail.

  • Fixed an issue where unique indexes were not fully utilized to accelerate some queries.

  • Fixed an issue where using the ALTER TABLE DROP statement to delete multiple full-text indexes (FTS) at the same time could leave residual metadata.

  • Fixed unnecessary index rebuilds when extending the length of a VARCHAR column with a specified DEFAULT value.

  • Fixed multiple issues with IMCI serverless, including compatibility with internal memory elasticity and abnormal scaling behavior.

  • Fixed an issue where full-text index retrieval would get stuck on a read-only node after a DDL operation.

  • Fixed an issue in adaptive execution where certain types of queries were not routed correctly.

  • Fixed an IMCI availability issue caused by a lack of support for online rebuilds.

  • Fixed a crash that occurred when batch adding columnstore indexes in a database- or table-level multi-master cluster due to incomplete adaptation to the DDL global lock.

  • Fixed a crash that occurred in queries on JSON_TABLE in scenarios involving a NULL field.

  • Fixed a conflict between multi-master Buffer Pool resizing and transaction block access, and optimized the performance of RDMA register or unregister operations for the multi-master Buffer Pool.

  • Fixed an issue where Digest CCL did not support the Prepared Statements (PS) protocol.

  • Fixed an issue where a read-only node could crash during an HA phase after the RO No Sync feature was enabled.

  • Fixed an issue where transaction rollbacks for spatial indexes required a pessimistic lock to delete the index, which could lead to an infinite loop and prolonged lock holding.

  • Fixed a rare issue where an upgrade task from a previous version to 8.0.1.1.45.1 could be interrupted.

  • Fixed a rare issue where a query error occurred due to accessing invalid data when processing string data types during column store execution.

  • Fixed an issue where IMCI would fall back to the row store when processing an expression that contained multiple subqueries with SUM.

  • Fixed a circular wait issue during asynchronous column index rebuilding in a one-writer, multiple-reader IMCI setup when using Hybrid Plan to accelerate wide table queries was enabled.

  • Fixed an issue where modifying the innodb_bulk_load_page_grained_redo_enable parameter within a specific time window during parallel DDL execution caused the Redo of some pages to be written incorrectly.

  • Fixed a potential deadlock in BLINK during batch data deletion from tables containing LOB fields.

  • Fixed a crash during the migrate process caused by a concurrency issue between high-frequency INSTANT DDL operations and background compaction tasks.

  • Fixed an issue where GROUP BY could cause a temporary table to report a table is full error.

  • Fixed an issue where an index join in IMCI could produce unstable results when a constant was used as a join condition.

8.0.1.1.46.2 (November 19, 2024)

Bug fixes

Description

  • Fixed an issue where executing an INSERT ... ON DUPLICATE KEY UPDATE statement after a switchover from an RO node to an RW node caused the auto-increment value of a table to roll back.

  • Fixed multiple issues with IMCI serverless, including compatibility with internal memory elasticity and abnormal scaling behavior.

  • Fixed a crash that occurred when the number of tables in a query transformation exceeded 61. Query rewrite is now skipped in this scenario.

8.0.1.1.46.1 (November 06, 2024)

Bug fixes

Description

  • Fixed an issue where full-text index retrieval would get stuck on a read-only node after a DDL operation.

  • Fixed an incompatibility between the backward index scan feature and optimizations such as ICP, and added the polar_optimizer_switch parameter to control this feature.

8.0.1.1.46 (October 28, 2024)

New features

Description

Added the ignore_use_force_index variable, which can be enabled to ignore all use/force index in statements and Outlines (but does not affect the index() hint).

Performance optimizations

Description

  • Added the PRUNED_PERCENT field to the INFORMATION_SCHEMA.IMCI_INDEX_STATS table in IMCI. This field indicates the data skipping ratio for each columnstore index.

  • Optimized SQL Trace to also apply to statements specified by DEMAND when the trace type is set to SLOW LOG.

  • Optimized support for asymmetric MTT buffers on read/write and read-only nodes, allowing for coordinated enabling of MTT between them.

  • Optimized the serverless process for column store nodes.

    New column store nodes are allowed to serve traffic only after their indexes are ready. This reduces slow queries caused by SQL statements being routed to new nodes and falling back to row store execution plans.

  • Reduced the performance overhead of saving partition information during SQL execution in IMCI to improve query performance on partitioned tables.

Bug fixes

Description

  • Fixed a crash that occurred during the Undo initialization phase when Force recovery was enabled.

  • Fixed a circular wait issue during asynchronous column index rebuilding in a one-writer, multiple-reader IMCI setup when Hybrid Plan was enabled.

  • Fixed an error that occurred when re-importing the same data into a UNIQUE CHECK IGNORE partitioned table by using LOAD DATA with REPLACE.

  • Fixed an issue where recent_written could introduce dirty data in a three-availability-zone deployment when the CRC value of the input data is exactly 0.

  • Fixed an issue where a read-only node would get stuck during an HA (node switchover), causing prolonged HA times.

  • Fixed B-tree corruption that occurred when adding an auto-increment column and creating a descending primary key index on it.

  • Fixed an issue where IMCI would fall back to the row store when processing an expression that contained multiple subqueries with SUM.

  • Fixed a rare memory leak that occurred when an error was encountered during parallel primary key rebuilding.

  • Fixed a potential crash that occurred when using the Temptable engine for GROUP BY queries that process LOB fields.

  • Fixed an issue where parallel query results could be incorrect if the predicate condition contained a subquery.

  • Fixed a potential query crash in JSON_TABLE scenarios involving a NULL field.

  • Fixed an NCI encoding anomaly that occurred during EQUAL_PACK_LENGTH DDL operations when modifying a PRIMARY KEY field.

  • Fixed a conflict between advanced transaction splitting in the proxy and Fast Query Cache that affected the result set.

  • Fixed an issue where using a JSON_ARRAY expression in a subquery could lead to incorrect results when IMCI was enabled.

  • Fixed a process interruption in the new workflow for database and table recovery that occurred after multiple recovery rounds on the same table.

  • Fixed a memory leak that occurred during the dynamic enabling of the RDMA log transfer feature.

  • Fixed an availability issue where an IMCI could not be rebuilt online.

  • Fixed an issue where asynchronous DDL could not be used when adding an IMCI by modifying the COMMENT on a table with a full-text index.

  • Fixed an issue where the kill operation on a transaction might fail in high-concurrency scenarios.

8.0.1.1.45.2 (September 13, 2024)

Bug fixes

Description

  • Fixed a rare issue where an upgrade task from a previous version to 8.0.1.1.45.1 could be interrupted.

  • Fixed a rare query error caused by accessing invalid data when processing string data types during column store execution.

8.0.1.1.45.1 (September 09, 2024)

Performance optimizations

Description

Reduced the memory overhead of IMCI for wide tables.

8.0.1.1.45 (September 03, 2024)

New features

Description

  • Added a status indicator to show whether a session is waiting for thread pool scheduling.

  • Introduced a greedy algorithm-based join reorder strategy in IMCI.

  • Introduced a stored procedure and an extended SQL command to batch-add columnstore indexes to an entire database.

  • Introduced a feature for major version upgrades from a PolarDB 5.7 backup set to improve one-click migration efficiency.

  • Expanded IMCI Hybrid Plan support to include partitioned tables, virtual columns, and columns with ENUM, SET, and GIS data types.

Performance optimizations

Description

  • Optimized PolarDB I/O threads to be dynamically adjustable without requiring a restart.

  • Improved the auto-scaling capability for single-node replay in IMCI to reduce replay latency and prevent out-of-memory (OOM) issues under high replay pressure.

  • Optimizes the read performance of Date-type fields in IMCI.

  • Improved the statistics sampling mechanism in IMCI by increasing the sampling frequency and the proportion of sampled data.

    Optimized the sampling logic for low-cardinality columns to prevent suboptimal query plans caused by inaccurate statistics.

Bug fixes

Description

  • Fixed a node crash caused by InnoDB full-text indexes in a multi-master cluster.

  • Fixed an issue where the optimizer significantly misestimated selectivity when a JOIN condition in IMCI included a type conversion.

    Fixed an issue where a Hybrid Plan was not correctly selected in IMCI due to an overestimation of the output cardinality of a JOIN.

  • Fixed an issue where JSON_LENGTH returned incorrect results when wildcards were used.

  • Fixed an issue where modifying the innodb_bulk_load_page_grained_redo_enable parameter within a specific time window during parallel DDL execution caused the Redo logs for some pages to be written incorrectly.

  • Fixed an issue where the AUTO_INCREMENT value of a partitioned table would roll back after a read-only node was switched to a read/write node.

  • Fixed an issue where removing an RO node could cause the monitoring connection to be blocked for a period of time when innodb_polar_log_rdma_transfer is enabled.

  • Fixed an issue where an IMCI index join could trigger unstable results when a constant is used as the JOIN condition.

  • Fixed an issue where using a group by statement on a temporary table could cause a table is full error even when the disk was not full.

  • Fixed an issue where user threads would wait excessively for a free page on a read-only node when the buffer pool was nearly full.

  • Fixed an issue that could cause a deadlock in Blink when you batch delete data from a table containing a lob field.

  • Fixed an issue where using JOIN elimination optimization in IMCI could lead to unstable results.

  • Fixed an issue where the AUTO_INCREMENT value would restart from 1 on the next write operation after all data in a table had been deleted.

  • Fixed an issue where the drop database command fails on a database that contains tens of thousands of tables.

  • Fixed an issue where unneeded subqueries were not removed during view merging.

  • Fixed an issue where a query with too many UNION ALL clauses could report an out-of-memory error when executed in IMCI.

  • Fixed an issue where desc select statements could not correctly call outlines.

  • Fixed an issue where in information_schema.tables, the table_comments column displays xxx is not base table.

  • Fixed an issue where implicit conversion of date types in IMCI was incompatible with MySQL behavior, leading to unexpected results.

  • Fixed an issue where an inconsistent default pruner type caused inconsistent query results when a new partition was added to an IMCI partitioned table that was created in a previous version after an upgrade.

  • Fixed a floating-point precision issue in JSON.

8.0.1.1.44 (July 06, 2024)

New features

Description

  • Supports deriving the corresponding view from a join condition.

  • Introduced a late-materialization version of UnionAll for IMCI.

Performance optimizations

Description

  • Reduced query optimization time for simple (single-table) queries.

  • Added support for fine-grained table-level locks in multi-master clusters.

  • Improved the performance of decimal sum/avg in IMCI.

  • Improved performance in hot-spot update scenarios.

  • Improved the performance of hash match in IMCI.

  • Reduced memory usage for metadata in IMCI queries.

  • Added support for filter pushdown to outer join in IMCI.

  • Adjust the PolarFS transaction processing thread priority to improve PolarDB DDL performance.

Bug fixes

Description

  • Fixed an issue where a hung Blink page caused the import table command to fail.

  • Fixed an issue where the database would hang during a manually triggered checkpoint in various processes.

  • Fixed an issue where markers could be lost if RO No Sync was toggled frequently.

  • Fixed an issue where a global standby node in a multi-master cluster could not start due to an abnormal rollback segment.

  • Fixed an issue where InnoDB tables with a function index could not be archived.

  • Fixed an issue where Last_query_cost returned a negative value in some optimization scenarios.

  • Fixed an issue where join elimination could not be performed if a function contained an aggregate function.

  • Fixed an issue where the IP address in the audit log was not updated in a timely manner when connections were reused in a session-level connection pool.

  • Fixed issues related to acquiring and releasing global table locks in a multi-master cluster.

8.0.1.1.43 (June 03, 2024)

New features

Description

  • Added binary log support for resumable transactions.

  • Added a new parameter thread_pool_reset_waiting_state_before_queuing.

Performance optimizations

Description

  • The columnstore index (IMCI) adds support for Index Join based on a Hybrid Plan, which enables you to use InnoDB indexes to perform a Join.

  • Improved the page read performance of read-only nodes on Polar File System (PFS).

  • Reduced memory usage for metadata in IMCI queries.

Bug fixes

Description

  • Fixed an issue where setting certain invalid values for optimizer_switch and parallel_query_switch would report an Error instead of a Warning.

  • Fixed an issue where the optimizer_switch value did not take effect if it ended with a comma.

  • Fixed an issue where the index selection changed for implicit aggregate queries with a limit operation.

  • Fixed an issue where the undo log grew continuously after a follower was rebuilt in a three-availability-zone deployment.

  • Fixed an issue where Persist RO could cause a read-only node to read stale data.

  • Fixed an issue of high replication delay on read-only nodes in a multi-master cluster.

  • Fixed an issue where the optimizer could not select the optimal Join Order due to an error in cardinality estimation.

  • Fixed a deadlock between threads that could occur during B-tree restructuring caused by record deletion.

  • Fixed an issue where archiving a table with a descending index failed.

  • Fixed an issue where LIMIT OFFSET pushdown on a query with an equality condition on a composite secondary index and a primary key In List condition returned no data when paginating results in reverse primary key order.

  • Fixed excessive permissions during Data Lifecycle Management (DLM) policy execution.

  • Fixed an issue where executing a Create Table Select statement in a multi-master cluster affected the availability of other nodes.

  • Fixed an issue where system pages could be corrupted if DDL statements were run on multiple nodes at the same time in a multi-master cluster.

8.0.1.1.42 (April 30, 2024)

New features

Description

  • Added predicate pushdown, including pushing predicates from HAVING to WHERE and from HAVING to derived tables and subqueries.

  • Introduced a hybrid row-column optimizer and a cost-based routing capability for row and column stores.

  • Added support for viewing Statement Outline invocations in the EXPLAIN output.

  • Added support for using a prefix MurmurHash bloom filter in IMCI.

  • Added support for LEFT JOIN elimination in UPDATE statements.

  • Added support for instantly adding columns to tables that have an IMCI.

  • Enhanced the Fast Query Cache to include the number of returned rows. This count is now shown in the audit log for queries that hit the cache.

Performance optimizations

Description

  • Introduced a feedback mechanism to row-column routing to collect actual execution information and provide it to the optimizer.

  • Disabled index merge intersection for DML statements by default to improve performance and prevent deadlocks.

  • Reduced the metadata overhead for memory allocation and statistics in IMCI to save memory.

  • Added support for BatchProbe in IMCI to improve JOIN performance.

  • Optimized memory usage for metadata, file modules, and small resident objects in IMCI to reduce resident memory consumption.

  • Improved the error message for importing cold data from OSS back into InnoDB.

  • When monitoring database performance, ignore the impact of access from system administrators on the slow_queries status metric.

Bug fixes

Description

  • Fixed an issue where the OSS path mapping for tables in the recycle bin was incorrect after a cluster restart. This occurred when recycling OSS IBD tables with the RECYCLE BIN feature enabled.

  • Fixed an issue where a read-only node with excessive clock drift could preempt the read/write node's permissions when starting the NewHA vector voting disk.

  • Fixed an issue where the dbms_oss.delete_table_file built-in stored procedure could not delete cold data in CSV format.

  • Fixed an issue where the internal counter of the thread pool could become incorrect if an ACL lock wait was encountered during the asynchronous authentication process.

  • Fixed an issue where space for original Blob data was not reclaimed after an UPDATE operation on a Blob column.

  • Fixed a data loss issue that occurred when repeatedly archiving an OSS external table.

  • Fixed an issue where the sorting operation was not omitted at runtime even though the optimizer had selected an ordering index.

  • Fixed a node crash that occurred when creating an OSS external table because the oss_prefix parameter was not configured on the OSS server.

  • Fixed an issue where abnormal data could be retrieved when accessing some tables in the information_schema database in a multi-master cluster.

  • Fixed an issue where an assert message was returned when multiplying Decimal data if at least one multiplier was 0 and the result's scale exceeded 16.

  • Fixed an issue where updating statistics on a partitioned table with an IMCI could result in inaccurate statistics because only a subset of partitions was sampled.

  • Fixed an issue where index equality access did not trigger adaptive row-column routing.

  • Fixed an issue of excessive Autoinc init log printing.

  • Fixed a potential error in Order By Desc scenarios for OSS external tables.

  • Fixed a rare node crash that occurred when executing the TRUNCATE PARTITION command on a partitioned table with an auto-increment column.

  • Fixed an issue where data corruption occurred due to different index orders when you perform an EXCHANGE PARTITION operation.

  • Fixed a potential node crash under high concurrency, caused by the Buffer Pool's automatic cancellation of a preceding shrink operation.

8.0.1.1.41 (March 19, 2024)

New features

Description

Added a Left Join feature based on TopK pushdown in IMCI.

Performance optimizations

Description

  • You can grant users the global dynamic privileges to execute the SHOW_ROUTINE, FLUSH_USER_RESOURCES, FLUSH_TABLES, FLUSH_STATUS, and FLUSH_OPTIMIZER_COSTS commands.

  • The process for enabling the high-performance mode for global consistency has been optimized. When the innodb_polar_scc parameter is set to ON on an RO node, the cluster automatically enables dependent features, such as RDMA and PolarTrans, which simplifies the management process.

  • Added support for using the Variable-Setting Hint syntax in high-performance global consistency mode.

  • You can set the polar_oss_ddl_shared parameter to ON to access data in a table that is undergoing cold data archiving.

  • Disabled the partial update feature for Blob fields.

  • Added support for using the database and table recovery feature for tables with an IMCI.

  • Added support for most common value (MCV) statistics collection in IMCI to improve the accuracy of records-per-key estimation in data skew scenarios.

  • Optimized the memory scheduling feature for IMCI to improve memory utilization.

  • Enhanced the non-blocking DDL feature to support more DDL statements.

  • Added support for using IMCI and global consistency (high-performance mode) features at the same time.

  • Added support for using the CHECK TABLE command to check a specific partition.

Bug fixes

Description

  • Fixed an issue where a TRUNCATE statement could be run on any node in a multi-master cluster.

  • Fixed a node crash caused by accessing an invalid Blob reference when pre-reading Blob data.

  • Fixed a potential failure when exporting a local table to the OSS engine in parallel.

  • Fixed an issue where the crash recovery logic could not run normally after an abnormal cluster restart. This was caused by an unexpected checkpoint LSN during a checkpoint operation.

  • Fixed an issue where an AUTO_INCREMENT rollback required a node restart to recover.

  • Fixed a potential node crash when a Common Table Expression (CTE) referenced a TempTable-based temporary table multiple times and used an index scan on it.

  • Fixed a memory out-of-bounds issue when IMCI processed extra-long string types.

  • Fixed a random node crash that occurred when the pre-read feature was enabled while IMCI was in use.

  • Fixed an issue where the X-Engine compaction background task negatively affected foreground operations and slow query performance due to overly strict concurrency control.

  • Fixed an issue where using a BIGINT column in a Join operation could lead to inaccurate cardinality estimation and prevent the use of an IMCI if the column contained very large values.

  • Fixed a deadlock in DDL pre-read in parallel DDL scenarios.

  • Fixed a memory leak that occurred during Reload operations for features like Statement Outline and Concurrency Control.

  • Fixed an issue where BIT fields were displayed incorrectly after a Group By operation.

  • Fixed an incompatibility between TDE and RDMA memory when forking a child process.

  • Fixed an issue where duplicate groups appeared in the result set when a parallel query pushed GROUP BY down to a worker for parallel execution on a partitioned table.

  • Fixed an issue where running an EXCHANGE PARTITION operation could cause index corruption and prevent access to table data due to different index orders.

  • Fixed issues related to partitioned tables whose primary key did not include the partition key during query optimization, DML operations, and binary log recording.

8.0.1.1.40.2 (February 07, 2024)

Bug fixes

Description

  • Fixed an issue where the replication delay of a global read-only node could increase if the load on the primary nodes of a multi-master cluster was unbalanced.

  • Fixed an issue where a newly created read-only node might fail to start on a multi-master cluster.

  • Fixed an issue where running a DDL statement on a multi-master cluster could cause the primary node to fail to restart.

8.0.1.1.40 (January 19, 2024)

New features

Description

  • Added support for sampling statistics in the X-Engine to estimate the approximate compression ratio.

  • Added support for enabling IMCI on a global read-only node of a database- or table-level multi-master cluster.

  • Allowed users to ignore transaction isolation levels that are implicitly set by tools like Metabase when using IMCI.

  • Added support for Stats Manager to automatically dispatch histogram collection tasks to read-only or hot standby nodes for automatic updates.

  • Added support for using temporary tables when using a Hybrid Plan to accelerate wide table queries.

  • Introduced a feature to enable adaptive degradation and automatic recovery for semi-synchronous replication.

  • Added support for modifying the character set of a field by using the INPLACE algorithm.

  • SQL Trace supports enabling configuration options for specified read-only nodes by allowing you to set the sql_trace_type parameter to REPLICA_DEMAND, REPLICA_ALL, or REPLICA_SLOW_QUERY.

Performance optimizations

Description

  • Improved the speed of handling connection requests by the thread pool in low-concurrency scenarios.

  • Improved database performance in short-lived connection scenarios.

  • Optimized the transaction mask calculation process in IMCI.

  • Automatically increased the maximum switchable execution time when adaptive execution encounters a high volume of cold data read I/O.

  • Adjusted the maximum display length of query statements in SQL Trace.

  • Introduced dynamic filters to the IMCI feature to improve join efficiency between tables.

  • When you use SET_VAR in a HINT statement to set the value of the loose_optimizer_switch parameter, do not add a comma at the end.

Bug fixes

Description

  • Fixed an incorrect sorting result when querying TopK data with IMCI. This occurred when sorting in descending order on a table with a large number of NULL values.

  • Fixed an issue where a read-only column store node could not recover column store data if it was started during a DDL operation on a table with an IMCI.

  • Fixed a space leak caused by an exception during a shrink operation.

  • Fixed an issue where concurrently modifying data structures during physical replication in the X-Engine caused a read-only node to become abnormal.

  • Fixed a failure when upgrading an X-Engine node from a read replica to a synchronous standby.

  • Fixed excessive optimizer memory usage when using IMCI in high-concurrency query scenarios.

  • Fixed an issue where updating statistics on a partitioned table with an IMCI could result in inaccurate statistics because only a subset of partitions was sampled.

  • Fixed an issue where a query containing a subquery that returned an empty result set could not be routed to a column store node for execution.

  • Fixed an issue where a CCL rule matched by a DIGEST value could become invalid after a cluster upgrade.

  • Fixed an issue where querying the information_schema.tables table was abnormally slow when the database contained CSV or ORC external tables.

  • Fixes an issue where Flink CDC parsing fails due to a duplicate table_id in the global Binlog of a Multi-master Cluster (Database/Table).

  • Fixed an issue where resumable transaction data could not be queried if the parallel query feature was enabled.

  • Fixed a failure to add a new read-only node when using the new database and table recovery workflow. This was caused by the read-only node registering with an LSN that was too early.

  • Fixed an issue where a thread would not exit due to a full disk when using the new database and table recovery workflow.

  • Fixed high memory consumption when using prepared statements to handle many concurrent requests or complex queries.

  • Fixed an issue where querying a view containing BIT data with IMCI produced incorrect results.

  • Fixed an issue where partition pruning on a KEY partitioned table did not consider generated columns (STORED GENERATED COLUMN), causing INSERT operations to fail with the error "ERROR 1748 (HY000) Found a row not matching the given partition set".

  • Fixed an issue where new connections would still access a discarded old file due to frequent DDL and HA operations when archiving cold data to the IBD format.

2023

8.0.1.1.39

Category

Description

Release date

New features and performance optimizations

  • You can now access the INFORMATION_SCHEMA views of the column store from any node. By default, information from all column store nodes is aggregated and displayed.

  • Simplified the parameters for automatic request distribution between the row and column stores.

  • If a query does not support the columnstore engine, you can set the use_imci_engine parameter to FORCED and re-execute the query. The query will then return the reason for the incompatibility.

  • Supports using and eliminating complex correlated subqueries in the GROUP BY clause.

  • The global Binlog of a multi-master cluster now supports the global transaction identifier (GTID).

  • Optimized the Buffer Pool expansion feature to automatically cancel previous scale-in operations and ensure timely expansion.

  • Optimized the startup process for the columnstore index (IMCI) to reduce its startup time.

  • Added support for adaptive routing for hybrid row-column queries.

  • Improved read performance on read-only nodes for queries involving primary key lookups via a secondary index.

2023-12-14

Bug fixes

  • Fixed a node crash caused by an invalid format of the user-defined CONNECTION string when creating an OSS foreign table.

  • Applied a patch from the official MySQL 8.0.17 to fix an auto-increment rollback issue caused by modifying auto_increment_increment on the client.

  • Applied a patch from the official MySQL 8.0.16 to fix a deadlock issue caused by an oversized BLOB.

  • Fixed a read-only node crash caused by Runtime Apply.

  • Fixed blocked dirty page flushing on an RW node. This issue occurred when the RW node failed to sever its replication link with an RO node on a failed physical machine.

  • Fixed an auto-increment rollback issue caused by table cache eviction due to an excessive number of tables after a High Availability (HA) event.

  • Fixed an issue where a read/write node in a multi-master cluster could fail to start if the cache center was restarted.

  • Fixed an issue where a table might fail to open when switching the write point in a multi-master cluster.

  • Fixed excessive memory usage during physical replication on a read-only node.

  • Fixed an issue where an outline on an AP node did not take effect if the length of the SQL token exceeded the value of the max_digest_length parameter.

  • Fixed an issue where added or deleted outlines were not synchronized to a read-only node after the node was upgraded.

  • Fixed high response times for low-concurrency writes to tables in X-Engine.

  • Fixed an issue where applying a Hybrid Plan to an SQL statement with an ORDER BY clause and NULL values in the output rows would report a "table definition has changed" error.

8.0.1.1.38.1

Category

Description

Release date

Bug fixes

Fixed an issue where character sets affected matching for new Statement Outlines on clusters that were upgraded without existing outlines.

2023-11-07

8.0.1.1.38

Category

Description

Release date

New features and performance optimizations

  • You can now use the built-in stored procedure dbms_oss.delete_table_file to delete unused files on OSS.

  • Optimized the database and table restoration feature, improving restoration speed and supporting task failure rollbacks.

2023-10-31

Bug fixes

  • Fixed an issue that prevented point-in-time restores of tables with a columnstore index (IMCI).

  • Fixed an issue where the GroupJoin operator consumed excessive memory in some scenarios, causing queries to fail.

  • Fixed a rollback failure for advanced RowIDs when loading a checkpoint.

  • Fixed a space reclamation failure on X-Engine caused by a read-only (RO) node's inability to report version reference information.

  • Fixed an issue where the optimizer inaccurately estimated join selectivity when joining an unsigned column with a signed column.

  • Fixed an execution failure for some queries with OR predicates caused by the execution plan failing to bind to the correct columns.

  • Fixed an issue where a query terminated by the scheduler could cause a database restart.

  • Fixed an I/O performance degradation issue for the columnstore index in late materialization scenarios.

  • Fixed a rare issue where a multi-master cluster would crash because it failed to release the metadata lock for a scheduled task in a timely manner.

  • Fixed an issue where queries on tables in X-Engine were slow because an index covering scan could not be used after accessing the primary key index.

  • Fixed an issue where the migration link was interrupted by a PolarDB cluster restart during a one-click upgrade from RDS for MySQL to PolarDB for MySQL.

  • Fixed a replica node crash caused by a race condition between deleting a table or index in X-Engine and a concurrent background SwitchMemtable operation.

8.0.1.1.37

Category

Description

Release date

New features and performance optimizations

  • Optimized Redo log read performance on read-only (RO) nodes in large BLOB scenarios.

  • You can now call built-in stored procedures by using uppercase names.

2023-09-21

Bug fixes

  • Fixed a node crash caused by adding backticks to the input parameters when calling some built-in stored procedures.

  • Fixed a node crash that could occur when deleting the last CCL rule of a specific SQL statement type where only the keyword was specified without a schema and table.

  • Fixed a rare crash during the upgrade of a read-only (RO) node to a read/write (RW) node. The crash occurred if a new RO node connected to the RW node, and the RW node had file extension logs created after the last checkpoint.

8.0.1.1.36

Category

Description

Release date

New features and performance optimizations

  • Improved the speed of archiving cold data to OSS in CSV format.

  • Optimized the cost model for equality non-covering index access.

  • Added the opt_non_covering_key_cost parameter to control whether to consider the initial positioning cost of a secondary index.

  • Added the worst_seek_records_threshold parameter to control whether to limit the maximum I/O cost of equality non-covering index access during cost estimation.

  • Added a timeout degradation mechanism to the Redo log semi-sync feature.

2023-08-22

Bug fixes

  • Fixed a crash in the Join Push Down (JPPD) optimization when a Common Table Expression (CTE) contained nested CTEs and had multiple references.

  • Fixed an issue where a replica node did not trigger the reconnection mechanism when the source node was shut down and restarted.

  • Fixed a potential issue when using the JSON_REMOVE function in an UPDATE statement for BLOB data.

  • Fixed an abnormal node restart caused by invalid memory access during transaction deadlock checks.

8.0.1.1.35.1

Category

Description

Release date

Bug fixes

Fixed high CPU usage on low-specification clusters.

2023-07-13

8.0.1.1.35

Category

Description

Release date

New features and performance optimizations

  • Added the SELECT INTO DEFAULT OSSOUTFILE statement.

  • Added the innodb_polar_import_tablespace_strict_mode parameter. When set to ON (default), it prevents database and table restoration for tables that have a full-text index, reporting an error instead.

  • You can now use a columnstore index to query data from a specified partition in a partitioned table.

  • SQL Trace now supports sampling specific SQL statements.

2023-07-05

Bug fixes

  • Fixed an issue where a regular user could drop the sys schema.

  • Fixed an abnormal node restart when performing database and table restoration on a partitioned table after a High Availability (HA) event.

  • Fixed an issue where a standby node failed to be promoted to the master node during a point-in-time restore of a multi-master cluster.

  • Fixed an issue where stored procedures, user-defined functions, scheduled tasks, views, and triggers were not isolated between different nodes in a multi-master cluster.

  • Fixed an issue where stored procedures, user-defined functions, scheduled tasks, views, and triggers could not be switched between different nodes in a multi-master cluster.

  • Fixed an issue where data in the Information_schema database was not updated synchronously after a data update in a multi-master cluster with the query cache feature enabled.

  • Fixed slow cleanup in a multi-master cluster with an excessive number of data tables.

8.0.1.1.34

Category

Description

Release date

New features and performance optimizations

  • You can now create a columnstore index on a virtual column.

  • You can now use the recycle bin for tables that have a columnstore index.

  • You can now create a hybrid partition table.

  • The federated query engine now supports pushing down the LIMIT ... OFFSET syntax to a remote database for execution.

  • The federated query engine now supports pushing down all compatible conditions to a remote server for execution and returns only the columns required by the query.

  • Added the primary key data slicing function call dbms_dts.show_parallel_ranges (<schema_name>, <table_name>, [<suggestion_ranges>]).

  • You can now use the cold data archiving feature for tables with an auto-increment primary key.

  • Optimized OSS query capability. After the elastic parallel query feature is enabled, the system now performs a parallel query directly if the value of the loose_csv_max_oss_threads parameter is greater than 1.

  • Improved the error message for an incorrect OSS foreign table file format.

  • You can now add the without validation option to the ALTER TABLE PARTITION BY RANGE syntax to quickly convert a standard table to a RANGE-partitioned table.

  • You can now convert a partitioned table with the 'UNIQUE CHECK IGNORE=1' attribute to a standard table by using the ALTER TABLE REMOVE PARTITIONING syntax.

  • Optimized Statement Outline to skip digest hash calculation for statements that do not have a matching outline.

  • Added the InnoDB on OSS feature.

  • After Statement Outline and Concurrency Control are updated on a multi-master cluster, the changes are now automatically synchronized to other master nodes.

  • Improved error messages for spelling errors.

  • Optimized the write performance of the read/write node after Standby semi-sync is enabled.

  • Added the LIST DEFAULT HASH partition table type.

  • You can now create a LIST DEFAULT HASH partitioned table by using the CREATE LIKE syntax.

  • The ADD PARTITION syntax for creating a LIST DEFAULT HASH partitioned table now supports the without validation option to add a LIST partition.

  • SQL Trace now supports tracking the execution information of slow queries.

  • Optimized the internal lock granularity of PolarFS to significantly improve performance in some high-load scenarios.

2023-06-12

Bug fixes

  • Fixed an issue that prevented OSS from reading JSON files.

  • Fixed a Hint Plan generation failure in prepared statement (PS) mode.

  • Fixed an issue where the checkpoint LSN did not advance as expected.

  • Fixed an issue where view_definition was empty in system views.

  • Fixed an issue where a query on a read-only node could report an error if an ALTER TABLE ... IMPORT TABLESPACE operation was concurrently running on the read/write node.

  • Fixed an issue that prevented reading data containing \n after it was archived by Data Lifecycle Management (DLM).

  • Fixed an issue where temporary files might remain on OSS after cold data archiving.

  • Fixed an issue where only the first file might be read when reading CSV-formatted cold data from OSS.

  • Fixed an issue where an abnormal internal counter in the thread pool could cause SQL requests to pile up during concurrent logging of slow queries.

  • Fixed a potential auto-increment column conflict during concurrent INSERT command execution in a multi-master cluster.

  • Fixed a replication lag issue when replaying Redo logs of a wide table on a read-only node.

  • Fixed an incorrect query result caused by the Limit Offset pushdown optimization when used with a query containing a window function.

  • Fixed an issue where a lock was held for the entire duration of a CHECK TABLE statement execution in a multi-master cluster.

  • Fixed an issue where the source file on OSS could not be deleted when executing the ALTER TABLE engine = csv storage oss, force; command.

  • Fixed a cluster crash caused by dynamically adjusting the cache of a multi-master cluster.

  • Fixed an issue where a multi-master cluster could not export a tablespace.

  • Fixed an incorrect pushdown for tables with NULL fields when the engine_condition_pushdown parameter was set to true.

  • Fixed a potential incorrect result set issue when comparing Time and Timestamp values with the Fast Query Cache feature.

  • Fixed a potential performance regression in high-concurrency update scenarios after PolarTrans was dynamically enabled.

8.0.1.1.33

Category

Description

Release date

New features and performance optimizations

  • The columnstore index now supports instant column addition by rebuilding columnstore index data.

  • The columnstore index now supports the REGEXPR function.

  • The columnstore index now supports pruning optimization based on IS NULL and IS NOT NULL conditions.

  • Multi-master Cluster (Database/Table) now supports the cold data archiving feature.

  • Supports parallel upgrades of nodes within a Multi-master Cluster (Database/Table) during a minor engine version update.

  • Multi-master Cluster (Database/Table) now supports persisting statistics.

  • Optimized the optimizer trace when OSS condition pushdown is enabled for an OSS foreign table.

  • Manual and automatic cold data archiving no longer records Binlog.

  • For Global Consistency (High-Performance Mode), added the Innodb_scc_timeout_count parameter to record the number of query timeouts.

  • For Global Consistency (High-Performance Mode), added the Innodb_scc_timeout_degrade_count parameter to record the number of times a query times out and degrades to an asynchronous query.

  • You can now query GTID information on read-only nodes.

  • Hint Plan now supports the BNL, BKA, and MRR hint types.

  • Fast Query Cache now includes the qc_weak_read_time variable for reading non-real-time cache.

  • The Statement Outline feature now includes the dbms_outln.add_optimizer_outline('schema', 'hints', 'query') interface for adding Optimizer Hints.

  • Added the Auto Plan Cache feature.

  • SQL Sharing now displays plan_extra, ref_by, and extra in JSON format.

  • The slow query log's extended data now includes the execution plan.

  • When using Statement Outline, the system now reports a warning instead of an error if the specified Index Hints do not exist.

  • SQL Sharing now includes the by_expr_ignore_charset variable. When by_expr_ignore_charset is set to ON, digest differences generated by statements containing ORDER BY or GROUP BY under different character sets are eliminated. However, after this variable is set to ON, all digest values generated in this mode will differ from those generated before it was set to ON.

  • Optimized memory consumption when scanning tables in the recycle bin.

  • Introduced a multi-version engine.

2023-04-14

Bug fixes

  • Fixed a node crash that occurred when running a CHECK operation on an empty OSS foreign table.

  • Fixed an occasional query error on a global read-only node of a Multi-master Cluster (Database/Table).

  • Fixed an issue where the metadata tablespace size was not synchronized in a Multi-master Cluster (Database/Table).

  • Fixed an issue where data in custom tables within the system tablespace was rolled back in a Multi-master Cluster (Database/Table).

  • Fixed an issue where undo logs could not be reclaimed after the undo log reclaim feature was enabled.

  • Fixed a database connection failure due to a read timeout when establishing physical replication on a read-only node.

  • Fixed a node crash that occurred when executing an ADD INDEX or DROP INDEX statement after running ALTER TABLE ... DISCARD TABLESPACE in a Multi-master Cluster (Database/Table).

8.0.1.1.32

Category

Description

Release date

New features and performance optimizations

  • The columnstore index feature now supports the MySQL DECIMAL data type.

  • You can now sort data by a specified column when creating a columnstore index to improve pruning efficiency.

  • The columnstore index feature now supports scanning data from files in ORC or PARQUET format stored in OSS.

  • Cost-based optimization supports pushing down the outer join conditions of a materialized derived table into the derived table.

  • Improved the optimizer's ability to estimate the number of scanned rows for join columns in equivalence derivation scenarios.

  • The optimizer's join elimination feature now supports eliminating the inner table of a left join, including inner tables with multi-level nested joins and semi-joins.

  • Supports the CAST(... AS INT) syntax, which behaves identically to CAST(... AS SIGNED INT).

  • Multi-master clusters now support the multi-master mutual backup feature.

2023-02-21

Bug fixes

  • Fixed a performance degradation issue in long-running transaction scenarios.

  • Fixed a compatibility issue between Global Consistency (High-Performance Mode) and Parallel Query (PQ).

  • Fixed an issue where using the transparent tablespace transport feature in a multi-master cluster would block DDL operations on other nodes.

  • Fixed an issue where the free size of a table could, in rare cases, be displayed as 4 PB.

  • Fixed a startup failure that occurred when multiple primary nodes of a multi-master cluster were restarted in parallel.

  • Fixed a cluster crash that occurred when switching the write point for full-text indexes and columnstore indexes in a multi-master cluster.

  • Fixed a database cache access anomaly when performing a copy DDL on a table with a foreign key.

  • Adjusted physical replication connection timeout parameters to prevent stalls during physical machine failures.

  • Fixed an issue where table locks could not be recovered during multi-master cluster crash recovery.

  • Fixed a potential node crash when accessing the information_schema.tables table while adding a new node.

  • Fixed a dirty page loss issue during the multi-master cluster crash recovery phase.

  • Fixed a cluster crash that occurred when switching the write point after a database was dropped in a multi-master cluster.

  • Fixed an invalid memory access issue in the TempTable engine when the thread pool was enabled.

2022

8.0.1.1.31

Category

Description

Release date

New features and performance optimizations

  • The Standard Edition of PolarDB for MySQL now supports automatic high availability switchover. This feature uses the Reservation capability of NVMe (Non-Volatile Memory Express) cloud disks.

  • The Concurrency Control (CCL) feature adds a new built-in stored procedure, dbms_ccl.add_ccl_digest_rule, which matches CCL rules by using digest values.

  • Built-in stored procedures now accept variables that start with @ as input.

  • Ignore the semicolon at the end of the SQL statement in the query parameter of the dbms_ccl.add_ccl_digest_rule, dbms_outln.add_index_outline, and dbms_outln.add_optimizer_outline built-in stored procedures.

  • Statement Outline now supports all UNION clauses.

  • Usernames and passwords in the mysql.servers table are no longer stored or displayed in plaintext.

    Note

    Usernames and passwords for existing servers are not encrypted after the upgrade. You must manually delete and recreate them.

  • You can now use LIMIT OFFSET pushdown when accessing a specific partition in a partitioned table.

  • Clusters that use X-Engine now support parallel DDL.

  • The thread pool feature now includes kernel-autonomous capabilities.

  • The thread pool feature is now compatible with concurrency control (CCL). After you enable the thread pool feature, if a user connection is blocked by CCL, the thread pool marks the connection and creates additional threads to execute SQL statements on other connections.

  • You can now use the new hint syntax OSS_REPLACE_EXISTED_FILE() to overwrite an existing file when you execute a SELECT INTO OSSOUTFILE statement.

  • Single-node parallel query is now supported on the OSS engine.

  • A new table INNODB_GLOBAL_DDL_LOCK_INFO is added to the information_schema database to view global locks in a multi-master cluster.

  • Introduces the AWR SQL Detail feature to audit and manage statements such as DDL, LOCK DB, and LOCK TABLE.

  • You can now generate columnstore index statistics by using the ANALYZE TABLE command to help guide query plan decisions.

  • Tables with a columnstore index now support database (table) restoration.

  • The columnstore index feature now supports the cast_as_real function.

  • You can view the build status and progress of a columnstore index by using the INFORMATION_SCHEMA.IMCI_ASYNC_DDL_STATS table.

  • Improves the performance of join queries on columnstore indexes where the join field has a string data type.

2022-12-07

Bug fixes

  • Fixed an issue where IF NOT EXISTS could not be used in the syntax for creating a server.

  • Fixed an issue that could cause an exception when running a DDL statement on a master node of a multi-master cluster.

  • Fixed an issue where querying tables in the information_schema database in a multi-master cluster could cause a deadlock.

  • Fixed a performance degradation issue with the REPLACE statement in a multi-master cluster.

  • Fixed an issue where creating an implicit temporary table in a multi-master cluster required a global lock.

  • Fixed an issue where a multi-master cluster could hang during crash recovery.

  • Fixed an issue where the logical read count provided by the SQL Trace feature was inaccurate.

  • Fixed an issue where columnstore indexes with ENUM and SET data types produced incorrect output.

  • Fixed an issue where SQL statements containing ROLL UP and GROUP BY failed to route to the column store.

8.0.1.1.30

Category

Description

Release date

New features and performance optimizations

  • Improves the performance of the UNION ALL operation when using the columnstore index feature.

  • The columnstore index feature now provides a built-in stored procedure to help create columnstore indexes.

  • The columnstore index feature adds a new global parameter, imci_default_pack_shift, to control the default pack size for creating columnstore indexes.

  • The columnstore index feature now supports partition pruning to improve query performance on partitioned tables.

  • The columnstore index feature now supports the BIT, JSON, and GEOMETRY data types.

  • The columnstore index feature now supports the EXCHANGE PARTITION operation.

  • Improves the performance of global consistency (high-performance mode) by using MTT technology.

  • The Multi-master Cluster Edition now supports adaptive eviction of data pages from the cache center.

  • The maximum recursive depth of a JSON document is now 150.

  • The Multi-master Cluster Edition adds the mm_flush_autoinc_when_unlock parameter, which is used to control whether to flush auto-increment information from the system table when releasing a global database or table lock. The default value is false.

  • Statement Outline now supports matching all SQL statements that have the same digest value when Schema_name is empty.

  • Fast Query Cache supports cached access to metadata tables (information_schema.tables/columns) in a database.

  • Introduces the SQL Trace feature to monitor the execution of SQL statements.

  • The SELECT INTO OSSOUTFILE statement is added to export local tables (tables on PolarFS) to OSS.

2022-10-29

Bug fixes

  • Fixed an issue where data was read incompletely when reading data remotely over RDMA.

  • Fixed an issue where the table clean thread had an abnormal state during master node shutdown.

  • Fixed a deadlock issue between Offline Master and WAR.

  • Fixed an issue where the master node could not shut down normally when it lost connection with the cache center.

  • Fixed a node crash caused by writing an implicit primary key through a scheduled task.

  • Fixed an issue where a binary log was incorrectly recorded for an SQL statement during a hot upgrade.

8.0.1.1.29.1

Category

Description

Release date

Bug fixes

Fixed a crash on a read-only node caused by a filename hash collision.

2022-09-17

8.0.1.1.29

Category

Description

Release date

New features and performance optimizations

  • Read-only nodes now support the hot replica feature.

  • Concurrency Control (CCL) adds the ccl_mode parameter, which rejects other requests to access the current cluster after the database access traffic reaches the concurrency control limit.

  • A new parameter, oss_sts_token, is added to the syntax for creating an OSS server to configure a temporary access credential for OSS.

  • Adaptive digest length is now supported. The memory allocated for statement digest calculation now adjusts automatically based on query length.

  • You can now query tables related to columnstore indexes from INFORMATION_SCHEMA by using a cluster endpoint.

  • The columnstore index feature now includes an ETL mode, which supports creating a table from the query results of a read-only columnstore node and writing those results to a table.

  • Improves the performance of TopK queries (paging queries in the ORDER BY a LIMIT n,m format) when using the columnstore index feature.

  • The columnstore index feature adds a new status, Last_stmt_use_imci, which indicates whether a query statement uses a columnstore index.

  • The columnstore index feature introduces the new global variable polar_enable_implicit_imci_with_create_table, which enables the automatic creation of a columnstore index when you execute a CREATE TABLE statement.

  • The columnstore index feature now supports cursors.

  • You can now use a columnstore index during an explicit transaction query.

  • You can now create a columnstore index on a partitioned table.

2022-09-08

Bug fixes

  • Fixed an inconsistency between the cache and file caused by a transaction rollback when you used the copy algorithm in a DDL statement.

  • Fixed an issue where database deletions were not recorded in the slow log.

  • Fixed an issue where an incorrect result was returned when Limit offset pushdown and MRR optimizations were used in the same query.

8.0.1.1.28.1

Category

Description

Release date

New features and performance optimizations

Thread pool optimization: When a database transaction waits for a metadata lock or a row lock, the thread pool now creates additional threads to process new requests.

2022-08-12

8.0.1.1.28

Category

Description

Release date

新增功能和性能优化

  • This release introduces the columnstore index feature. It uses a parallel vectorized execution engine for columnar data to significantly improve complex query performance.

  • You can now create and use Federated engine tables.

  • Read-only nodes now support custom in-memory temporary tables. This feature currently supports only the MEMORY and MyISAM engines.

  • Improves DDL sorting performance. A multi-way merge algorithm replaces the two-way merge algorithm, reducing I/O and improving DDL index creation performance.

  • Introduces the DDL pre-read feature to improve index creation efficiency.

  • A new parameter, oss_prefix, is added to the syntax for creating an OSS server to configure the OSS file path.

2022-07-20

8.0.1.1.27

Category

Description

Release date

Bug fixes

Fixed an issue where physical replication latency was excessive under low cluster load.

2022-05-25

Fixed an issue where the LRU list cleanup was blocked, preventing page release when the Buffer Pool had an excessive number of dirty pages and was flushing slowly.

Fixed a memory allocation issue during data insertion.

Fixed an issue where the show engine innodb status command displayed all deadlock information when the innodb_show_verbose_deadlock parameter was set to ON (the default value).

Fixed an issue where RO nodes newly registered to the cluster crashed after an RW node completed an undo truncate operation.

Fixed an issue where the SKIP_SCAN result set was incorrect after a delete marker was set on data.

8.0.1.1.26

Category

Description

Release date

Bug fixes

Fixed an issue where an incorrect result was returned when using index for group by.

2022-05-05

Fixed an issue where the SKIP_SCAN result set was incorrect after a delete marker was set on data.

Fixed an issue where the SKIP_SCAN result set could be incorrect if the index prefix contained multiple data groups.

8.0.1.1.25

Category

Description

Release date

Bug fixes

Fixed an issue where an incorrect result was returned when you used index for group by.

2022-04-12

8.0.1.1.24

Category

Description

Release date

Bug fixes

  • Fixed an issue where threadpool_high_priority_users was not parsed correctly at database startup.

  • Fixed an issue where dynamically modifying threadpool_high_priority_users could affect other parameters.

  • Fixed an occasional Redo log replay crash on a read-only node using X-Engine.

2022-03-11

8.0.1.1.23

Category

Description

Release date

新增功能和性能优化

  • The Strict Consistency Cluster feature is now supported, which provides strongly consistent reads on read-only nodes.

  • Statement Outline supports PrepareStatement.

  • The hot standby node feature further improves the efficiency of High Availability (HA).

2022-01-20

Bug fixes

  • Fixed an issue where the Fast Query Cache on an RO node acquired an MDL lock, which blocked Redo log synchronization.

  • The SELECT FOR UPDATE/SHARE WAIT N syntax is supported. In this syntax, N specifies the wait timeout in seconds for a single row lock. If a query needs to lock multiple rows, the timeout is not cumulative and is checked for each individual row. If the wait time exceeds N seconds, a lock wait timeout error is returned: Lock wait timeout exceeded; try restarting transaction.

2021

8.0.1.1.22

Category

Description

Release date

Bug Fixes

  • Improved the accuracy of estimating the degree of parallelism for equality-based index access on partitioned tables in parallel queries.

  • Fixed an issue where the optimizer took excessive time to estimate statistics in specific scenarios.

  • Fixed an issue where the optimizer did not select a more optimal index range path for some GROUP BY statements.

  • Fixed an issue where a new redo log file failed to be created after a standby node was promoted to the primary node during a failover.

2021-12-22

8.0.1.1.21

Category

Description

Release date

Bug Fixes

  • Fixed an issue where an arithmetic overflow caused the GROUP_CONCAT function to return an incorrect result when the group_concat_max_len parameter was set to a large value.

  • Fixed data errors that occurred after a standby node in a secondary availability zone recovered from a failure.

  • Fixed data anomalies that occurred when a standby node in a secondary availability zone was promoted to a primary node (RW node).

  • Fixed an issue where the optimizer incorrectly used a single-column index for filtering instead of an available composite index.

2021-11-26

8.0.1.1.19

Category

Description

Release date

New features and performance optimizations

  • Added a new concurrency control (CCL) rule for DDL operations.

  • Added the restrict_on_limit_without_order parameter to control whether to allow parallel queries that have a LIMIT clause but no ORDER BY clause.

2021-09-18

Bug Fixes

  • Fixed an issue where parallel queries produced unordered results when using implicit GROUP BY sorting with an index selected for the GROUP BY column.

  • Fixed an issue where the transaction ID field was always 0 in the audit log when the thread pool was used.

8.0.1.1.18

Category

Description

Release date

New features and performance optimizations

The database kernel now supports resumable transactions and allows read-only nodes to read uncommitted transactions.

2021-08-14

Bug Fixes

Optimized the master_key_id_mutex to allow DDL operations to run in parallel.

8.0.1.1.17

Category

Description

Release date

New features and performance optimizations

  • Added the polar_replica_work_on_nonblock_mdl_mode parameter. When this parameter is enabled, uncommitted transactions with the RU/RC isolation level on read-only nodes will no longer block DDL operations on the primary node, and the transactional characteristics of table definitions will no longer be guaranteed on the read-only nodes.

  • Optimized the statistics maintenance mechanism for scenarios with a massive number of tables, such as Software as a Service (SaaS) workloads. This significantly improves performance for querying table structures (DESC table) and read/write operations under high concurrency.

2021-07-23

Bug Fixes

  • Fixed an issue where a read-only node would crash at m_recv_bits.is_set(fold) during physical replication under high concurrency pressure.

  • Fixed a crash during log replay on a read-only node under high concurrency.

8.0.1.1.16

Category

Description

Release date

Bug Fixes

To aid diagnostics, the system now prints information about the requesting and earliest lock-holding threads to the primary node's error log when an ACL Cache Lock request waits.

2021-06-24

8.0.1.1.15

Category

Description

Release date

New features and performance optimizations

  • Transparent Data Encryption (TDE) now supports automatic encryption for new MySQL tables in the cluster.

  • MySQL data tables now support the utf8mb4_0900_bin character set.

2021-05-25

Bug Fixes

  • Fixed a database crash caused by an excessively long record generated when rolling back an UPDATE operation after an instant add column operation.

  • Fixed an issue where DDL statements incorrectly forced mysql.slow_log and mysql.general_log to use the InnoDB engine.

  • Fixed an incorrect result set caused by incorrect metadata for the REGEXP function.

  • Fixed a database crash that occurred when rolling back an UPDATE operation on a virtual column.

  • Adjusted the checkpoint policy for when an RO node registers with the primary node. A checkpoint is no longer triggered immediately if the LSN difference is less than the specified threshold.

8.0.1.1.14

Category

Description

Release date

New features and performance optimizations

  • Optimized the maintenance of internal index information to improve the startup speed of read-only nodes in scenarios with a massive number of tables, such as Software as a Service (SaaS) workloads.

  • Optimized GDN synchronization connections to reduce CPU consumption by synchronization threads. This improves the speed of Redo log synchronization for a secondary cluster on low-spec instances (fewer than 8 cores).

  • Optimized the AutoDop strategy for degree of parallelism control to avoid affecting the use of PARALLEL HINT and force_parallel_mode.

2021-04-23

Bug Fixes

  • Fixed an issue where an incorrect index was used for wide-range RANGE queries due to inaccurate records_in_range statistics.

  • Fixed an issue where a standby node crashed during a point-in-time restore of full data because the buffer pool was too small.

  • Fixed an issue where internal metadata in the X-Engine used excessive memory.

  • Fixed two issues from the official MySQL release related to ACL DDL to prevent cluster unavailability caused by deadlocks from ACL DDL operations.

  • Fixed an issue where a parallel query returned an incorrect result set if it included the SQL_BUFFER_RESULT keyword and used an aggregate function without a GROUP BY clause.

8.0.1.1.13.2

Category

Description

Release date

Bug Fixes

Fixed a potential decryption failure caused by the loss of encryption information from a Transparent Data Encryption (TDE)-encrypted table during a failover.

2021-04-19

8.0.1.1.13.1

Category

Description

Release date

Bug Fixes

Fixed a performance issue in parallel queries where constant filter conditions in the Block Nested-Loop Join (BNL) algorithm were not pushed down to a single table.

2021-04-08

8.0.1.1.13

Category

Description

Release date

New features and performance optimizations

  • Read-only nodes support the polar_use_statement_mdl_on_replica parameter to prevent transactions with the RC isolation level on read-only nodes from blocking DDL operations on the primary node. Additionally, when a read transaction on a read-only node runs concurrently with a DDL operation on the primary node, the read transaction may see different table definitions (for example, if an ADD COLUMN operation is performed on the primary node between two statements of the read transaction, the second statement will read more columns than the first).

  • Removed unnecessary equality conditions from the index equality lookup path to facilitate Limit offset pushdown in ORDER BY LIMIT scenarios.

  • Added the dbms_stats.gather_stats(timeout, workers) command to update stale histograms through event scheduling or manual execution.

  • mysql.slow_log now supports viewing the log_version, log_id, origin_start_time, and rds_ext fields.

2021-03-30

Bug Fixes

  • Fixed an issue where a query could not be terminated when executing commands such as CHECK TABLE, COUNT(*), or DDL on an X-Engine table.

  • Changed KICKOUT to a non-reserved keyword.

  • Fixed an issue where parallel queries were underutilized because the estimated number of scanned rows was lower than the actual number during query plan generation.

8.0.1.1.12.2

Category

Description

Release date

Bug Fixes

  • Fixed an issue where creating or deleting a temporary table in a stored procedure caused the cluster to become unavailable when the session_track_temporary_tables system variable was enabled.

  • Introduced a patch from the official MySQL 8.0.14 release to resolve an issue where a CREATE USER statement was blocked because it could not obtain a metadata lock (MDL) on MySQL system tables.

2021-03-12

8.0.1.1.12.1

Category

Description

Release date

New features and performance optimizations

Optimized the write performance of the PolarDB X-Engine for continuous multi-table data imports.

2021-03-02

Bug Fixes

Fixed an issue in parallel queries where the metadata lock (MDL) state on a worker thread could be inconsistent with the leader thread due to a missing mutex.

8.0.1.1.12

Category

Description

Release date

New features and performance optimizations

  • A new parameter, auto_dop_low_degree_cost, is added to the degree of parallelism control policy to configure the selection policy for the degree of parallelism of parallel queries. For more information, see Parallel resource control policy configuration.

  • You can now use the restore_table command to quickly restore tables from the recycle bin. For more information, see Table Recycle Bin.

  • Added support for fetching binary logs from read-only nodes. For more information, see Remotely fetch and parse PolarDB for MySQL binary logs.

  • You can print key information, such as in_memory, in the opt trace to identify the cause of problems with the execution plan.

2021-02-20

Bug Fixes

  • Introduced a Port Percona patch to resolve slow ACL CACHE metadata lock conflict detection in high-concurrency scenarios.

  • The preferred_ordering_index parameter is added to the optimizer_switch system variable to fix an issue where the optimal plan is not selected in certain scenarios, such as for ORDER BY or GROUP BY queries that use a LIMIT clause, because an ordered index is used.

  • Fixed an issue where SHOW PROCESSLIST returned incorrect results in some scenarios.

  • Fixed an issue of slow access to the information_schema.KEY_COLUMN_USAGE system table, which occurred in versions prior to 8.0.1.1.10 after a minor version upgrade because the table definition was not updated.

8.0.1.1.11

Category

Description

Release date

New features and performance optimizations

  • You can now use the parallel_degree_policy parameter to set the configuration policy for the degree of parallelism in parallel queries. For more information, see Parallel Resource Control Policy Configuration.

  • Added support for setting the max_digest_length parameter by using a SET GLOBAL statement to limit the length of recognizable statements.

    Note

    After the value of the max_digest_length parameter is changed, clients must reconnect to the cluster for the change to take effect.

  • The default value of the innodb_adaptive_hash_index parameter is changed from ON to OFF.

2021-01-29

Bug Fixes

  • Fixed inconsistent permissions between the primary node and read-only nodes.

  • Fixed an issue where a read-only node could not connect to the primary node after a failover.

  • Fixed an issue where the SQL Plan Management (SPM) processing logic was incorrect when a specific execution plan became invalid.

8.0.1.1.10

Category

Description

Release date

New features and performance optimizations

  • Added support for implicit sorting with Group By. The usage is the same as in PolarDB for MySQL version 5.7.

  • Added a feature that disables parallel queries when BLOB fields are present.

  • Added a feature that automatically updates statement-level concurrency control cache information on read-only nodes.

  • Added the hot row optimization feature. For more information, see Hot Row Optimization.

  • Added support for DDL physical replication optimization. For more information, see DDL Physical Replication Optimization.

  • Added support for parallel metadata lock synchronization. For more information, see Parallel Metadata Lock Synchronization.

  • Added a feature for fast reverse traversal during computation pushdown.

  • Optimized the file system to speed up opening tables in multi-table scenarios.

  • Reduced failover time in multi-table scenarios, accelerating the recovery of the new primary node.

2021-01-12

Bug Fixes

  • Fixed an issue where system tables were lost when a read-only node was promoted to the primary node.

  • Fixed an issue where using a range query with parallel query enabled caused an overestimation of the number of scanned rows.

  • Fixed an issue where an aggregate query returned an integer result for a field of the BIT type.

  • Fixed an issue where a SELECT DISTINCT query returned an incorrect result when enumeration fields were used.

  • Fixed an issue where a parallel query with an EXISTS condition returned an incorrect result.

  • Fixed an issue where read-only nodes failed to restart in some cases.

  • Fixed an issue where the data dictionary contained incorrect table information on a read-only node. This occurred when a DDL operation on a table caused a related table with a foreign key to reopen the table undergoing the DDL operation.

  • Fixed an issue where full-text index queries failed because the node restart flag was not correctly set after a failover.

  • Fixed an issue where a metadata lock (MDL) blocked the log application thread on a read-only node.

  • Fixed an issue where the new primary node became unavailable after a failover because released memory was reused.

  • Fixed a polar.info data issue that caused all nodes to become unavailable.

  • Fixed incorrect auto-increment behavior in partitioned tables.

  • Fixed a data error that occurred because redo logs were overwritten on the primary node.

  • Fixed an issue where the primary node became unavailable while waiting for a metadata lock (MDL).

  • Fixed issues related to Transparent Data Encryption (TDE).

  • Fixed an issue where the cluster became unavailable when a Lock Table operation was run with the Table Recycle Bin feature enabled.

  • Fixed a deadlock that occurred when the primary node ran a DDL operation.

  • Fixed an issue where the thread pool and connection control could not be used concurrently.

2020

8.0.1.1.9

Category

Description

Release date

New features and performance optimizations

Removed SPM and PLAN as keywords to prevent operation failures when table names contain these words.

2020-12-18

8.0.1.1.8

Category

Description

Release date

New features and performance optimizations

  • Added a multi-plan mode to the SQL plan manager.

  • Added the rds_ap_threshold system variable to block requests that the optimizer estimates will scan an excessive number of records.

  • Improved the efficiency of dirty page flushing on the primary node.

  • Added a multi-shard write mechanism for redo logs.

2020-12-09

Bug fixes

  • Fixed a null pointer issue with metadata lock (MDL) keys during parallel query execution.

  • Fixed an issue that caused queries to fail during the creation of a parallel thread cache.

  • Fixed an issue where parallel query multi-range read (MRR) returned abnormal results.

8.0.1.1.7

Category

Description

Release date

New features and performance optimizations

  • Improved the efficiency of parallel scans on driven tables in scenarios such as JOIN queries.

  • Added support for purging residual binlog files even when binary logging is disabled.

  • Added an automatic check and reconnection mechanism for physical replication on secondary nodes. This prevents extended disconnections.

  • Improved the switchover efficiency between primary nodes and read-only nodes.

  • Added support for quick startup of clusters with many tables, which allows for faster scanning of table data files.

2020-11-16

Bug fixes

  • Fixed a cluster crash caused by getting the type of trx->wait_lock.

  • Fixed an issue that limited the number of AIO threads when multi-queue simulated AIO was enabled.

  • Fixed an issue where a query could not be terminated immediately if an index query failed during initialization.

  • Fixed an issue on secondary nodes where the Next Page of the current cursor pointed to a non-existent page during a Split Merge Operation (SMO).

  • Fixed an issue where read-only nodes could read log information that was already overwritten by the primary node.

  • Fixed an issue where purging redo log files failed because the timestamp interval in the redo logs was too large.

  • Fixed an issue where table cache information was not cleared when a metadata lock (MDL) was released.

8.0.1.1.6

Category

Description

Release date

New features and performance optimizations

  • Improved the compatibility between SQL plan manager (SPM) and parallel query.

  • Improved the efficiency of merge sort for parallel queries.

  • Added support for computation pushdown for delete operations.

  • Added support for the PolarDB Commit Timestamp (CTS) feature.

2020-09-21

Bug fixes

  • Fixed an issue where the description of pq_optimize_switch was incorrect.

  • Fixed an issue that caused subquery execution to be unstable.

8.0.1.1.5

Category

Description

Release date

New features and performance optimizations

  • Added a feature to control immediate primary node checkpoints when a read-only node connects.

  • Added support for simple range queries and computation pushdown.

  • Added the pfs_remount feature to the Polar file system (PFS). This prevents PFS file mounting failures caused by unclosed files.

  • Resolved a performance bottleneck on read-only nodes caused by forced pauses in the parse thread, improving data synchronization efficiency during physical replication.

  • Optimized Early Lock Release performance in multi-connection scenarios, improving cluster performance up to tenfold in these scenarios.

2020-08-19

Bug fixes

  • Fixed an issue where read-only nodes became unavailable after failing to connect to the primary node.

  • Fixed an issue causing read-only nodes to become unavailable after a primary/secondary failover when a DDL statement was executed on a table with a full-text index.

  • Fixed an issue where purge binlog could not be run after the UNDO TRUNCATE command.

  • Fixed an issue where statistics were inconsistent between read-only nodes and the primary node.

8.0.1.1.4

Category

Description

Release date

New features and performance optimizations

  • Added support for parallel DDL to improve DDL execution efficiency.

  • Added support for dynamically adjusting the length of multiple queues for simulated AIO.

  • Added support for full text search (FTS) cache consistency.

  • Added support for parallel execution of subqueries that contain aggregate functions in the WHERE clause, provided the subquery supports index-based scans.

  • Added support for lock mode checks for temporary tables, similar to standard tables.

2020-07-04

Bug fixes

  • Fixed a cluster unavailability issue caused by demoting a primary node to a secondary node while DDL operations were still replicating.

  • Fixed a performance degradation issue caused by enabling the thread pool.

  • Fixed a deadlock issue caused by purge binlog.

  • Fixed several memory leak issues.

  • Fixed several issues in high availability scenarios.

8.0.1.1.3

Category

Description

Release date

New features and performance optimizations

  • Enhanced security, such as password management.

  • Improved the performance of parallel query in the following scenarios:

    • Enhanced parallel query performance for GROUP BY, UNION, and SELECT COUNT(*) FROM <table> queries.

    • Parallel subqueries where the execution plan uses a shared InnoDB temporary table.

    • Scenarios where the execution plan uses a VIEW or DERIVED TEMP TABLE.

    • Parallel query supports defining temporary tables, with the following limitations:

      • SELECT COUNT(*) without a conditional clause on a temporary table is not supported.

      • Parallel execution on temporary tables in the Memory Engine is not supported.

  • Added support for a new audit log format that includes virtual IP address (VIP) information.

  • Added support for controlling the free space ratio of index pages. This reduces the probability of SMO and latch contention, improving write performance.

  • Added support for multi-queue simulated AIO to enhance dirty page flushing and write performance.

  • Added support for excluding buffer pool content from core files. This reduces the size of core files and prevents impact on online services.

2020-05-29

Bug fixes

  • Fixed an issue where the TempTable storage engine reported an out-of-memory error instead of falling back to disk when its memory limit was reached.

  • Fixed a cluster unavailability issue that occurred when ORDER BY was used in an InnoDB full text search if the sort buffer size parameter was set to a small value.

  • Fixed an issue where the correct field could not be found when a temporary table had columns with the same name.

  • Fixed an issue where a parallel query using MAX/MIN functions with GROUP BY and a loose scan could not be killed.

  • Fixed several failover issues.

  • Fixed several parallel query issues.

  • Fixed an issue where the SHOW BINARY LOGS command could block transaction commits.

8.0.1.1.2

Category

Description

Release date

New features and performance optimizations

  • Added a prefix-based sorting optimization that accelerates sorting on long character columns. The optimization first compares prefixes and only compares the full strings if the prefixes are identical.

  • Added support for parallel query in the following scenarios:

    • Parallel execution for the range cost estimation model.

    • Parallel execution for temporary tables.

    • Parallel execution for Semijoin materialization lookup and scan strategies.

  • Added three types of session state trackers that PolarDB smart routing can use to support connection persistence. When enabled, these trackers can trace changes to user variables, the creation and deletion of temporary tables, and prepare and deallocation operations in SQL statements.

  • Optimized the performance of Drop AHI during DDL operations to reduce the impact of DDL on cluster performance.

  • Added the recycle bin feature to prevent data loss from accidental deletion.

  • Optimized the performance of truncating temporary tablespaces in large buffer pools. This reduces the impact of temporary table operations on cluster performance.

2020-04-09

Bug fixes

  • Fixed an issue with ROLLUP execution when an aggregate function was present in an IF function.

  • Fixed an issue with sorting BLOB types.

  • Fixed a specific issue with parallel execution of PREPARE statements that contain SQL with aggregate functions.

  • Fixed several parallel query issues.

  • Fixed an issue that could cause excessive purging of redo logs.

  • Fixed redo log-related issues on read-only nodes.

8.0.1.1.1

Category

Description

Release date

New features and performance optimizations

  • Added support for parallel execution in scenarios where a subquery contains ROLLUP.

  • Added support for statement concurrency control.

  • Added the POLARDB_INDEX hint.

  • Optimized replication lag between primary and read-only nodes.

  • Added support for thread pool.

  • Added support for the TDE keyring_rds plugin.

  • Added support for Global Database Network (GDN).

  • Optimized the lock-free transaction system to improve read and write performance.

2020-03-28

Bug fixes

  • Fixed several parallel query issues.

  • Fixed an issue where statistics could become zero during an online DDL process.

  • Optimized the user mode file system to accelerate cluster startup.

  • Fixed an issue where a cluster could become unavailable when the innodb_flush_method parameter was set to all_o_direct.

  • Fixed a cluster unavailability issue that occurred during lock release at transaction commit.

  • Fixed an issue where truncating the slow query log could block user requests.

  • Fixed a cluster unavailability issue that could be caused by compressed pages on a read-only node.

  • Fixed an issue where the thread pool could incorrectly terminate a replication connection.

8.0.1.1.0

Category

Description

Release date

New features and performance optimizations

  • Enhanced parallel query capabilities by adding support for parallel computation of the ROLLUP function for enterprise-level analysis.

  • Enhanced the optimizer's estimation model capabilities, such as improving selectivity estimation for conditional filters and the cost estimation model for parallel queries. This helps the optimizer choose more accurately between parallel and serial plans based on selectivity.

  • Added unified management for parallel worker threads that are allocated in FIFO mode. This prevents system resource exhaustion caused by numerous parallel queries.

2020-02-05

Bug fixes

  • Fixed several memory-related issues in parallel query.

  • Fixed several instability issues in parallel query.

8.0.1.0.6

Category

Description

Release date

Bug fixes

  • Fixed an issue that prevented the binlog index file from closing when a primary node was demoted to a secondary node.

  • Fixed a cluster unavailability issue caused by a read-only node accessing a purged undo page.

  • Fixed an issue where a backend thread on a read-only node accessed a non-existent tablespace page during a primary/secondary failover.

  • Fixed a cluster unavailability issue caused by attempts to write to the redo log after the log thread had exited during cluster shutdown.

2020-01-01

2019

8.0.1.0.5

Category

Description

Release date

New features and performance optimizations

  • Optimizer trace now includes information about parallel query, which you can use to determine why parallel query was or was not used.

  • You can now use SQL hints to explicitly enable parallel query and specify the degree of parallelism.

  • Parallel scans are now supported for INSERT ... SELECT statements under the READ COMMITTED isolation level. These statements copy data to another table.

2019-12-03

Bug fixes

  • Fixed several issues with parallel query.

  • Fixed an issue where a secondary node would become unavailable when promoted to the primary node during a primary/secondary failover.

  • Fixed an issue where using certain DDL statements during a primary/secondary failover caused failures.

  • Fixed an issue where lock limitations could cause a too many connection error message.