All Products
Search
Document Center

PolarDB:Compute node release notes for 2025

Last Updated:Nov 04, 2025

This topic provides the release notes for the compute nodes of PolarDB-X instances for 2025.

Released on: 2025-09-23

Product version: V2.5.0

Component version: 5.4.19

Category

Description

New features and optimizations

Added support for creating multiple columnstore indexes (CCIs) on a data table.

Added support for explicitly creating an archive type for CCIs.

Added support for sorting CCIs in descending order by sort key.

Added support for creating prefix indexes on global secondary indexes (GSIs).

Added support for asynchronous multi-write optimization for DDL operations in hot spot partition splitting.

Optimized the progress display and execution performance of the full data pull for CCIs.

Optimized the historical data migration mechanism during logical DDL execution to reduce lock conflicts.

Bug fixes

Fixed an issue where an INSERT ON DUPLICATE KEY UPDATE statement failed. This occurred when updating a TIMESTAMP NOT NULL column with a zero-value time string due to the DYNAMIC IMPLICIT DEFAULT detection mechanism.

Fixed an issue where a view that contained a window function did not have its execution plan updated synchronously after a DDL operation was performed on the base table. This caused subsequent queries to fail or return incorrect results.

Fixed an issue where query results were unexpected. This occurred when a client sent a TIMESTAMP parameter with a fractional part less than 0.1 through the PreparedStatement interface, causing a parameter parsing error.

Fixed an issue where the deadlock detection mechanism for the metadata lock (MDL) could fail in certain high-concurrency scenarios.

Fixed an issue where paged queries using PAGING_FORCE returned incorrect results in single-shard query scenarios.

Fixed an issue where a range scan query could cause an unexpected error at the Read Committed transaction isolation level.

Fixed an issue where creating multiple CCIs for a single data table failed under specific conditions.

Fixed an issue where the CHECK GLOBAL INDEX command could not detect inconsistencies in a GSI in certain scenarios.

Fixed an issue where the PARTITION syntax or PARTITION_HINT specified for a partitioned table was lost when executing a CREATE VIEW statement.

Fixed an issue where an ADD COLUMN operation on a table that already had a clustered index could unexpectedly fail in certain scenarios.

Fixed an issue where the deadlock detection mechanism could fail in certain scenarios.

Fixed an issue where an INSERT ... SELECT statement that involved only a single table failed. This occurred when the SELECT clause used a Common Table Expression (CTE).

Fixed an issue where the lockless column type change feature failed to process a column with a prefix index due to a compatibility problem.

Fixed an issue where an incorrect SQL statement was pushed down to a data node. This occurred when an INSERT statement assigned a NULL value to a TIMESTAMP column in a multi-write optimization scenario.

Released on: 2025-07-14

Product version: V2.5.0

Component version: 5.4.20

Category

Description

New features and optimizations

The CREATE VIEW statement now supports the PARTITION clause. This lets you create views based on specific partitions of a partitioned table.

Added support for the ALTER USER ... ACCOUNT LOCK/UNLOCK syntax. This feature allows database administrators to manually lock or unlock accounts. This enhances database security and helps prevent malicious logon attempts, such as brute-force attacks.

Added support for modifying the partition keys and sort keys of a CCI. This feature provides greater flexibility for data management. It lets you adjust the data distribution and sort policy of a CCI based on business changes without requiring a full reindex, which optimizes query performance.

Added support for in-place rebuilding of CCIs. This operation lets you optimize and reorganize a CCI without affecting queries or access to historical data versions.

Added support for route computing for expressions in DRDS mode.

Optimized lock contention between business DML operations and data source switching during data balancing for databases in DRDS mode.

Optimized the migration process for historical data in DDL operations with logical execution to reduce lock conflicts.

Enhanced the DDL engine to provide concurrency and idempotency control for DDL statements in dry run mode.

Optimized the execution process for deleting a CCI.

Bug fixes

Fixed an issue where the forced acquisition mechanism for a physical MDL could fail after a DROP DATABASE operation.

Fixed an issue where paged queries returned incorrect results in single-shard scenarios.

Fixed the return code for deadlock errors from 4614 to 1213.

Fixed an issue where HyperLogLog statistics for tables containing a CCI could not be automatically collected.

Fixed an issue where partition pruning for an IN condition could cause an error in high-concurrency transaction scenarios.

Fixed an issue where a privileged account could fail to execute a GRANT ROLE statement.

Fixed a rare issue where a data consistency lock for a CCI could not be correctly released.

Fixed an issue where binary logging could not be exported from a read-only instance.

Fixed an issue where the sequence of a statistics system table could lag.

Fixed an issue where the rescheduling mechanism for SQL throttling failed.

Fixed an issue where an upgrade could fail. This occurred because the Global Database Network (GDN) encountered an error when creating a system table in the global meta service (GMS) during the upgrade process.

Fixed an issue where the PARTITION clause and PARTITION_HINT specified for a partitioned table were lost during the definition of a CREATE VIEW statement.

Fixed an issue where the CHECK GLOBAL INDEX command could not detect inconsistencies in a GSI in certain scenarios.

Fixed an issue where a window function could cause a NullPointerException in JoinTableLookupTransposeRule.

Released on: 2025-06-19

Product version: V2.4.0

Component version: 5.4.19

Category

Description

Optimizations

Optimized the idempotency check logic for migration tasks when modifying the Locality property of a table group.

Optimized the scaling process for tables with small data volumes to improve scaling performance.

Optimized lock contention between business DML and data source switching during data balancing for databases in DRDS mode.

Bug fixes

Removed the EXPAND keyword.

Fixed a lock leak issue in the columnar engine caused by a deadlock.

Fixed an error in partition pruning for IN statements in high-concurrency transaction scenarios.

Fixed an issue where binary logging could not be exported from a read-only instance.

Fixed an issue where database creation failed if the storage pool name contained uppercase letters.

Fixed an issue where automatic FORCE INDEX on a full-text index table caused a query error.

Fixed an issue where the forced acquisition mechanism for a physical MDL could fail after a database was deleted.

Fixed an issue where an incorrect pushdown could occur when a single table was associated through a subquery in a cross-database scenario.

Fixed an issue where an incorrect pushdown occurred in multi-write scenarios when a TIMESTAMP column was assigned a NULL value in an INSERT statement.

Fixed a metadata error that occurred when scaling in multiple data nodes (DNs) for a logical database where the Locality directly declared the storage nodes.

Fixed an issue where UPSERT/REPLACE/INSERT IGNORE statements failed on a MySQL 8.0 DN due to a type conversion error.

Released on: 2025-05-19

Product version: V2.5.0

Component version: 5.4.20

Category

Description

New features and optimizations

Added support for the DELETE_UNFIXED instruction in baselines to delete all baselines that are not fixed or evolved from hot spots.

Added versioning support for baselines. Plans generated by a new version cannot be used by older nodes.

Added support for prefix indexes on GSIs.

Added support for converting non-scalar subqueries that contain LIMIT/ORDER BY to SEMI JOINs.

Added support for dynamic paging pruning for RANGE partitions in paging scenarios.

Added support for DRYRUN rewrite for DDLs that only refresh metadata.

Added support for JOIN pushdown execution for broadcast tables with Locality.

SESSION HINT now supports processing broadcast tables in DRDS databases.

Optimized the default row-based cleanup policy for TTL to clean up only expired data with non-NULL values.

Optimized the pushdown of non-correlated scalar subqueries.

Optimized the scaling logic for tables with small data volumes.

Optimized the performance of SQL optimization pruning when an IN clause contains many parameters.

Removed the EXPAND keyword.

Bug fixes

Fixed the BlackHoleBlockBuilder cannot be cast to class DecimalBlockBuilder error for range scans.

Fixed issues such as transient disconnections and service traffic jitter during operations and maintenance (O&M) operations on underlying storage nodes.

Fixed an issue where adding a column to a table with a clustered index unexpectedly failed.

Fixed an issue where the ORDER BY clause in the GROUP_CONCAT() function did not support parameterization.

Fixed an issue where an incorrect pushdown could occur when a single table was associated through a subquery in a cross-database scenario.

Fixed foreign key-related errors that occurred during partition changes.

Fixed an issue where ENABLE_JAVA_UDF did not support dynamic switching.

Fixed an issue where parsing many subqueries by the optimizer caused an out-of-memory (OOM) error.

Fixed a compatibility issue where the lockless column type change feature was not compatible with prefix indexes.

Fixed an issue where an asynchronous prefetching thread could corrupt in-memory metadata. This occurred when the thread started prefetching a database after the database had been deleted.

Fixed an issue where automatic FORCE INDEX on a full-text index table caused a query to fail.

Fixed an issue where a CCI caused the loss of a local AUTO_SHARD_KEY index.

Fixed an issue where using a time partition function on an integer partition key column in a HASH partition, RANGE partition, or LIST partition did not report an error.

Fixed an issue where some DDL connections waiting for resource locks could not be killed during a batch commit of DDL tasks.

Fixed a lock leak issue in the columnar engine caused by a deadlock.

Fixed an issue where a pushed-down column subquery failed when executed together with an IN expression.

Released on: 2025-04-15

Product version: V2.4.0

Component version: 5.4.19

Category

Description

Optimization

Optimized transaction blocking logic. The server now automatically disconnects from the client if a transaction cannot proceed or be committed. This optimization is available only for newly purchased instances.

Bug fixes

Fixed an execution blocking issue with PartitionWise Join combined with Broadcast Shuffle in massively parallel processing (MPP) mode.

Fixed an execution blocking issue for some JOIN queries in MPP mode.

Fixed an issue where a CCI caused the loss of a local AUTO_SHARD_KEY index.

Fixed an issue where the SHOW DDL statement displayed an inaccurate data backfill progress.

Fixed issues such as transient disconnections and service traffic jitter during operations and maintenance (O&M) operations on underlying storage nodes.

Released on: 2025-03-28

Product version: V2.5.0

Component version: 5.4.20

Category

Description

New features and optimizations

The Fix instruction in SPM now supports binding executor parameters.

Added support for anomaly alerts in SPM.

Multi-stream binary logging in change data capture (CDC) now supports one binary logging stream per storage node.

Added support for the GB18030-2022 character set for databases.

Added support for asynchronous multi-write optimization for DDL operations in hot spot partition splitting.

Added support for SORT KEY pruning for the TINYINT and TIMESTAMP types.

Added support for using CHECK TABLE to check the property consistency of Global Primary Partitioning (GPP) for secondary indexes.

Optimized the metadata space usage of columnstore index snapshots.

Optimized the data display in Information_schema.tables.

Optimized the backfill performance of symmetric replication during a lockless column type change.

Optimized the performance of paged queries.

Expanded the applicable scope of index merge scenarios.

Bug fixes

Fixed an issue where the previous primary key value was unexpected after an INSERT IGNORE statement was executed.

Fixed an execution blocking issue for some JOIN queries in MPP mode.

Fixed an issue where the constraint behavior of a self-referencing foreign key was unexpected when an expression was used.

Fixed an infinite loop issue in JoinPushTransitivePredicatesRule.

Fixed an issue where histogram statistics for non-VARCHAR columns were not properly cleaned up.

Fixed an occasional sharding calculation error in high-concurrency scenarios.

Fixed an issue where a query that used columnar data failed if the data contained an oversized single column.

Fixed an issue where SORT WINDOW results were unexpected after a CCI was used.

Fixed an issue where the initial capacity of the hash table for an aggregation operator was too large in non-MPP mode.

Fixed an issue where an execution timeout could occur when a PAUSE DDL statement was executed.

Fixed an issue where creating a GSI for a BIT column that contained special values, such as 0x32, could fail.

Fixed an issue where a point query using execution plan transfer returned incorrect results if the index column was encoded as a UTF-8 string.

Fixed an issue where the system could not automatically release a lock after a database connection with a running database-level DDL statement was explicitly closed.

Fixed an issue where a TRUNCATE TABLE operation was not blocked on a foreign key parent table that contained a GSI.

Fixed an issue where a DELETE statement could not be directly pushed down during row-based cleanup on a TTL table that was a subpartitioned table.

Fixed an issue where a DML operation failed on a JSON column that contained NULL values.

Fixed an issue where residual metadata remained after a CCI was deleted.

Fixed an issue where smart routing incorrectly selected an archived table.

Fixed an issue where a JOIN operation could not be pushed down in a full aggregation (AGG) pushdown scenario of cost-based optimization (CBO).

Released on: 2025-03-05

Product version: V2.4.0

Component version: 5.4.19

Category

Description

New features and optimizations

Added support for SORT KEY pruning for the TINYINT and TIMESTAMP types.

DMS now supports executing lockless change statements.

Added support for using CHECK TABLE to check the property consistency of Global Primary Partitioning (GPP) for secondary indexes.

Optimized the metadata space usage of the columnstore snapshot feature.

Optimized the performance of paged queries.

Optimized the backfill performance of symmetric replication during a lockless column type change.

Expanded the applicable scope of index merge scenarios.

Optimized the performance of SELECT DISTINCT statements in timestamp oracle (TSO) transactions.

Bug fixes

Fixed an issue where UPSERT/REPLACE/INSERT IGNORE statements failed on a MySQL 8.0 DN due to a type conversion error.

Fixed an issue where the previous primary key value was unexpected after an INSERT IGNORE statement was executed.

Fixed an issue where automatic table group merge did not take effect after an ALTER TABLE MOVE PARTITION operation.

Fixed an issue where executing a RENAME TABLE statement using a reused connection caused a non-preemptive MDL lock.

Fixed an issue where the SHOW DDL statement displayed an inaccurate data backfill progress.

Fixed an issue where the initial capacity of the hash table for an aggregation operator was too large in non-MPP mode.

Fixed an issue where SORT WINDOW results were unexpected after a CCI was used.

Fixed an occasional sharding calculation error in high-concurrency scenarios.

Fixed an issue where a point query using execution plan transfer returned incorrect results if the index column was encoded as a UTF-8 string.

Fixed an issue where a query that used columnar data failed if the data contained an oversized single column.

Fixed an issue where the system could not automatically release a lock after a database connection with a running database-level DDL statement was explicitly closed.

Fixed an issue where a DML operation failed on a JSON-type column that contained NULL values.

Fixed an issue where creating a GSI for a BIT column that contained special values, such as 0x32, could fail.

Fixed an issue where residual metadata remained after a CCI was deleted.

Fixed an issue where a JOIN operation could not be pushed down in a full AGG pushdown scenario of CBO. For more information, see Advanced SQL tuning.

Fixed an issue where a TRUNCATE TABLE operation was not blocked on a foreign key parent table that contained a GSI.

Fixed an issue where the MetaDB lock could not be promptly released after the connection for a running CREATE DB/DROP DB statement was interrupted.

Fixed an issue where an execution timeout could occur when a PAUSE DDL statement was executed.

Fixed an issue where a CASCADE foreign key could fail when an ON DUPLICATE KEY UPDATE statement was executed on the parent table.

Fixed an issue where a DELETE statement was not directly pushed down during row-based cleanup on a TTL table that was a subpartitioned table.

Fixed an issue where an execution could fail when INSERT SELECT was used with ON DUPLICATE KEY UPDATE.

Fixed an issue where the constraint check was incorrect when a foreign key was UPDATEd to a NULL value.

Fixed an issue where a CDC rewrite failed for a foreign key name that contained special characters, such as ~#@.

Released on: 2025-01-22

Product version: V2.5.0

Component version: 5.4.20

Category

Description

New features and optimizations

Check Table in DRDS databases now supports checking the integrity and consistency of a LOCAL INDEX. For more information, see CHECK TABLE.

Added support for the simultaneous processing of SCAN HINT and DML in a transaction. 

Added support for more Modify/Change Column types for tables with a CCI. For more information, see DDL statement limits for CCIs.

Logical DML now supports using a GSI with primary key partitioning to detect primary key conflicts.

Optimized the Cardinality interface for obtaining statistics to provide more accurate cost calculation values.

Optimized the progress display and performance of the full data pull for CCIs.

Optimized the automatic adjustment of the period for scheduled statistics tasks during an upgrade or restart.

Optimized the logic for converting a logical IN Values query to a physical UNION ALL query.

Optimized the query performance for a CCI when an IN clause contains too many values.

Optimized the display effect of SHOW DDL RESULT.

Optimized the performance of BATCH INSERT data import when a value is specified for an auto_increment column.

Bug fixes

Fixed an issue where the PlanCache became full because an INSERT statement contained a NULL value.

Fixed a variable leak issue that occurred when specifying the Archive transaction policy at the session level. Database accounts with regular permissions can now set the transaction policy for the current transaction to Archive.

Fixed an issue where executing a RENAME TABLE statement using a reused connection caused a non-preemptive MDL lock.

Fixed an issue where UPSERT/REPLACE/INSERT IGNORE statements failed on a MySQL 8.0 DN due to a type conversion error.

Fixed a performance degradation issue with SELECT DISTINCT in TSO transactions.

Fixed an issue where automatic table group merge did not take effect after an ALTER TABLE MOVE PARTITION operation.

Fixed an issue where Repartition MPP execution caused duplicate metadata for a secondary index.

Fixed an issue where the now() function was rounded up.

Fixed an issue where the DDL Engine could not continue to clean up a job. This occurred because a subtask was cleaned up before its parent task during DDL cleanup.

Fixed an issue where the tx_read_only variable returned an incorrect value in a read-only instance.

Fixed a constraint check issue when a foreign key was UPDATEd to a NULL value.

Fixed an issue where an execution could fail when INSERT SELECT was used with ON DUPLICATE KEY UPDATE.

Fixed an issue where a CASCADE foreign key could fail when an ON DUPLICATE KEY UPDATE statement was executed on the parent table.

Fixed an issue where using the KILL command on a connection executing CREATE DB/DROP DB failed to promptly release the MetaDB lock.

Fixed an issue where SPM was not properly persisted to disk after an execution plan for a table was DROPped.

Fixed an issue where a CDC rewrite failed for a foreign key name that contained special characters, such as ~#@.

Fixed a scan failure issue for a HyperLogLog (HLL) task caused by the case of a column name.

Fixed an issue where creating multiple CCIs for a single table failed.

Fixed a missing permission check issue for UPDATE JOIN.

Fixed an issue where CBOJoinWindowTransposeRule caused a query error.

Fixed an issue where an IN expression failed in a cross-database query.

Fixed a template mismatch issue caused by IN parameter pruning during batch DML processing in non-proprietary protocol mode.

Fixed an issue where a physical replication task caused a physical SQL execution to fail when processing a special table name.

Fixed an execution failure issue caused by an executor sharding calculation error during a DDL change.

Fixed an issue where a non-leader node could not find a table. This occurred when a table was created at the same time as database initialization.

Added support for CHECK TABLE to check the GPP property consistency for secondary indexes.

Fixed an issue where a query failed when querying information_schema.columns and filtering the column_default column.

Fixed an issue of inconsistent case for table names in Columns metadata.

Fixed an issue where an associated item in a CONVERT function of a subquery was not correctly identified.

Fixed an issue where returned column names were misplaced when a JOIN operation was performed on columns with the same name.

Released on: 2025-01-16

Product version: V2.4.0

Component version: 5.4.19

Category

Description

New features and optimizations

Added a CCI inspection task to compress CSV files that have not been written to for a long time.

Logical DML now supports using a GSI with primary key partitioning to detect primary key conflicts.

Check Table in DRDS databases now supports checking the integrity and consistency of a LOCAL INDEX. For more information, see CHECK TABLE.

Added support for the simultaneous processing of SCAN HINT and DML in a transaction. 

Added support for using Check Table to check the GPP property consistency of a secondary index.

Optimized the Cardinality interface for obtaining statistics to provide more accurate cost calculation values.

Optimized the logic for converting a logical IN Values query to a physical UNION ALL query.

Optimized the automatic adjustment of the period for scheduled statistics tasks during an upgrade or restart.

Optimized the setting of the transaction policy. SET drds_transaction_policy=archive is now allowed.

Optimized the display effect of SHOW DDL RESULT.

Optimized the execution logic for converting a single table to a partitioned table with only one partition. This modifies only metadata and does not migrate data, which improves conversion performance.

Bug fixes

Fixed an issue where CBOJoinWindowTransposeRule caused a query error.

Fixed an issue where the PlanCache became full because an INSERT statement contained a NULL value.

Fixed a columnar transaction leak issue on a read-only CCI instance.

Fixed an issue where the now() function was rounded up.

Fixed an issue where Repartition MPP execution caused duplicate metadata for a secondary index.

Fixed an issue where the DDL Engine could not continue to clean up a job. This occurred because a subtask was cleaned up before its parent task during DDL cleanup.

Fixed an issue where the MetaDB lock was not released in a timely manner after a KILL command terminated a connection that was executing CREATE DB/DROP DB.

Fixed a template mismatch issue caused by IN parameter pruning during batch DML processing in non-proprietary protocol mode.

Fixed an issue where SPM was not properly persisted to disk after an execution plan for a table was dropped.

Fixed a missing permission check issue for UPDATE JOIN.

Fixed a scan failure issue for an HLL task caused by the case of a column name.

Fixed an issue where an IN expression failed in a cross-database query.

Fixed an issue where a query failed when querying information_schema.columns and filtering the column_default column.

Fixed an execution failure issue caused by an executor sharding calculation error during a DDL change.

Fixed an issue where a physical replication task caused a physical SQL execution to fail when processing a special table name.

Fixed an issue where a non-leader node could not find a table. This occurred when a table was created at the same time as database initialization.

Fixed an issue where a task was paused due to an error in processing the character set of a string type during the incremental data synchronization phase of scaling.

Fixed an issue where an associated item in a CONVERT function of a subquery was not correctly identified.

Fixed an issue where partition routing failed for a Timestamp type with high precision.

Fixed an exception in how JSON_SET handled string types.

Fixed an issue where related plans were not automatically rebuilt when a table's metadata was changed while a baseline was fixing a view.

Fixed an issue where returned column names were misplaced when a JOIN operation was performed on columns with the same name.

Fixed an issue of inconsistent case for table names in Columns metadata.

Fixed an issue where incorrect metadata could be generated when multiple ALTER MODIFY TTL statements concurrently modified TTL table parameters.

Fixed an issue where a fixed baseline plan became invalid because the number of execution errors exceeded the threshold.

Released on: 2024-12-24

Product version: V2.5.0

Component version: 5.4.20

Category

Description

New features and optimizations

Added the INFORMATION_SCHEMA.DDL_INFO view. You can query this view for information about the status of all DDLs to externally determine DDL idempotency (for DMS and GDN).

Read-only CCI instances now support enabling transactions. Queries within a transaction access the same consistent snapshot.

Added support for database-level batch operations on CCIs.

Data tables now support multiple CCIs.

Added a CCI inspection task to compress CSV files that have not been written to for a long time.

Added support for CHECK constraints. For more information, see CHECK constraints.

Added support for dictionary encoding for vectorized IN expressions.

Added support for parallel sort window execution optimization.

Added support for the INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES view.

Optimized the load balancing of task allocation on multiple nodes in the DDL MPP scheduler.

Optimized queries executed on read-only CCI instances. Early stream termination is supported in some scenarios.

Optimized the result display of the EXPLAIN ANALYZE statement to include the number of I/O bytes for exchange and oss table scan.

Optimized the performance of paged queries.

Optimized the metadata space usage of columnstore index snapshots.

Expanded the applicable scope of index merge scenarios.

Bug fixes

Fixed a columnar transaction leak issue on a read-only CCI instance.

Fixed an issue where a table creation statement failed because an enumeration value of the ENUM type contained a , character.

Fixed an exception in how JSON_SET handled string types.

Fixed an issue where space usage expanded due to repeated serialization of a statistics histogram.

Fixed an issue where a baseline failed to be deleted. This occurred when a request to write to the baseline was received during the deletion process.

Fixed an issue where incorrect metadata could be generated when multiple ALTER MODIFY TTL statements concurrently modified TTL table parameters.

Fixed an abnormal collection issue for a column that had the same name as the HLL reserved word.

Fixed an issue where partition routing failed for a Timestamp type with high precision.

Fixed an issue where a Truncate/Drop partition operation failed on a table without a GSI or CCI. This occurred because another table in the same table group contained a GSI or CCI.

Fixed an issue where a Baseline Hint Bind became invalid due to a change in the table schema.

Fixed an issue where a task was paused due to an error in processing the character set of a string type during the incremental data synchronization phase of scaling.

Fixed an issue where related plans were not automatically rebuilt when a table's metadata was changed while a baseline was fixing a view.

Fixed an issue where a lockless column type change caused a global clustered index table to lose some Local Indexes.

Fixed an issue where a fixed baseline plan became invalid because the number of execution errors exceeded the threshold.