This topic describes the release notes for the kernel of PolarDB-X.

Release date: 2022-06-09

Major version: V5.4.14

Minor version: 16547447

Type Description
New and updated features The memory usage of the scan operator in streaming merge sorting is optimized.
Fixed issues The following issue is fixed: In massively parallel processing (MPP) mode, the system does not use shuffle joins to perform outer join operations.
The following issue is fixed: A single table cannot be pushed down in a database in AUTO mode.
The following issue is fixed: The optimizer reports an error when the optimizer tries to convert an IN statement to a subquery in prepare mode.
The following issue is fixed: In MPP mode, the query result of a union distinct query is incorrect.
The following issue is fixed: A NullPointerException (NPE) error is reported when a sequence in a read-only instance fails to be initialized.
The following issue is fixed: The system fails to match tables for SQL request throttling if the names of the tables are specified with backticks.
The following issue is fixed: Sharding Advisor reports NPE errors in the What-If Analysis phase.

Release date: 2022-06 -02

Major version: V5.4.14

Minor version: 16539836

Type Description
New and updated features The New Sequence type is supported. A sequence of the New Sequence type is a globally unique, monotonically increasing, and high-performance sequence. For more information, see Overview.
The locality management feature is supported. In AUTO mode, you can specify the locality attribute when you create databases, table groups, tables, and partitions. You also can dynamically modify the locality of a table group or partition group. For more information, see 通过LOCALITY指定存储位置.
The logic for repartitioning tables that are automatically partitioned is optimized. When you execute ALTER PARTITION statements on tables that are automatically partitioned to repartition the tables, global secondary indexes (GSIs) are converted to local indexes.
The content of an error message is optimized. The error message is returned if corresponding partitions are not found for backfilling data when you create a GSI or repartition a table.
The sharding method recommendation feature is provided by Sharding Advisor. Sharding Advisor provides a recommended sharding method when you split a table based on the workload of the current database.
The set global feature is enabled by default.
Heatmaps that are used to display statistics of data in partitions are provided. For more information, see 分区热力图.
Metadata locks (MDLs) are provided for table groups. This way, metadata deadlock issues that occur during data synchronization between tables are resolved.
A feature that can be used to roll back failed DML operations in a transaction is provided.
The memory management model that is used in scenarios in which dynamic parameters are specified in IN statements is optimized.
The INSERT OVERWRITE statement is supported.
Hexadecimal strings are supported in statements that are used to create partitioned tables.
Multiple table groups that use the same partitioning method can be merged into a table group, and multiple tables that use the same partitioning method can be added to a table group in a batch. For more information, see ALTER TABLEGROUP and MERGE TABLEGROUPS.
The deadlock detection feature is supported for databases that run MySQL 8.0.
Cursors are supported on the server side.
Logical names of GSIs can be used to specify table groups. Example: alter table t1.g1 set tablegroup=#tg.
A query can be performed on a base table and secondary index table at the same time, and then the system queries data in the base table based on the row IDs of indexes.
The execution performance of INSERT, UPDATE, DELETE, and SELECT statements is optimized.
The SQL query optimization feature is optimized. Thy optimizer does not generate excessive execution plans for statements that contain IN expressions. This helps reduce memory usage and workloads on PlanCache.
The permission verification process is optimized.
The restriction that custom tables cannot use the names that are reserved for system tables is removed.
The execution logic for DDL tasks is optimized. After a DDL task is started, the task is not added into the task queue. The task is immediately executed.
The DDL historical data archive feature is supported.
Fixed issues The following issue is fixed: The syntax that is used to specify aliases in HAVING clauses in physical statements is incorrect.
The following issue is fixed: In read and write splitting scenarios, read queries cannot be routed to the primary database when the log replication thread is interrupted.
The following issue is fixed: When SQL request throttling is triggered and requests are rescheduled for execution, the system does not return an error to the client after an error occurs. This causes the client to be blocked. In these scenarios, the value of the wait_queue_size parameter is greater than 0 and statements are executed without waiting in a queue.
The following issue is fixed: HyperLogLog (HLL) does not collect the point in time when table sharding was performed.
Upgrade Jetty to V205. This helps avoid off-heap memory leaks during MPP RPC operations. Earlier versions of Jetty may cause off-heap memory leaks during MPP RPC operations.
The following issue is fixed: Lock wait timeout issues occur when the system records the status of the physical DDL during the execution of a DDL task.
The following issue is fixed: Errors are reported when strings are transmitted over a proprietary protocol by using connections that do not use the UTF-8 encoding method.
The following issue is fixed: The result of a SHOW DDL statement is empty or incomplete after a TRACE DDL statement is executed.
The following issue is fixed: The SHOW RULE statement cannot be executed on partitioned tables that are created in databases in AUTO mode.
The following issue is fixed: After new columns are added and new indexes are created, the metadata of the indexes is missing.
The following issue is fixed: After columns in a table are updated by using an RENAME TABLE or ALTER TABLE statement, statistics are cleared.
The following issue is fixed: Updates of comparative objects cause execution plan changes.
The following issue is fixed: The column names that are returned by the SHOW COLUMNS statement and the returned names of the columns that are specified with the DESC keyword are all uppercase letters.
The following issue is fixed: Information about the primary key is not included in global unique indexes of a database that is in automatic partitioning mode.
The following issue is fixed: Table names that are included in tags that are generated by the Change Data Capture (CDC) component are different from the names of the corresponding tables.
The following issue is fixed: When a statement that includes an IGNORE INDEX clause is executed on a database that is in automatic partitioning mode, GSIs are pushed down for execution.

Release date: 2022-05-16

Major version: V5.4.13

Minor version: 16526725

Type Description
New and updated features The content of an error message that describes a fatal error is optimized. The error message is returned when fatal errors occur on connections over a proprietary protocol.
The feature of the KILL ALL statement is optimized. When you execute a KILL ALL statement to terminate backend connections, the connections that are being used to process requests are not terminated.
Fixed issues The following issue is fixed: After the metadata of a table is modified by using Index Advisor, the table becomes unavailable.
The following issue is fixed: Data may be modified after you execute an GSI UPDATE statement.
The following issue is fixed: When the implicit primary key of a unique global secondary index (UGSI) is the same as the sharding key of the table, the system removes the implicit primary key of the UGSI.

Release date: 2022-04-21

Major version: V5.4.13

Minor version: 16504348

Type Description
Fixed issues The content of an error message is modified. The error message is returned when the syntax of DDL statements that are used to change sharding rules or partitioning rules is incorrect.
The following issue is fixed: When an INSTANT ADD COLUMN statement is executed to add columns, the columns are reordered after the INSERT operation is pushed down for execution.
The following issue is fixed: The instance topology information that is generated by CDC is incorrect in the Truncate Table With RecycleBin scenario.

Release date: 2022-04-15

Major version: V5.4.13

Minor version: 16499071

Type Description
New and updated features Automatic restart is supported for compute nodes. After an out of memory (OOM) error occurs, the system automatically restarts the corresponding compute node.
Fixed issues The following issue is fixed: If the data volume is large and the data cardinality is low, batched key access (BKA) join operations that are performed on the same objects may return different results.
The following issue is fixed: If the system passes an execution plan over a proprietary protocol and the length of a value that is returned by a point query based on indexes exceeds the length limit of the corresponding field, the system truncates the value. As a result, the system returns an incorrect value.
The following issue is fixed: If you specify a condition that includes the not equal operator in a statement, the system may return an incorrect result.

Release date: 2022-04-08

Major version: V5.4.13

Minor version: 16493698

Type Description
Fixed issues The following issue is fixed: information_schema.processlist collects information about the sessions of read-only instances.

Release date: 2022-04-02

Major version: V5.4.13

Minor version: 16487873

Type Description
New features The binary encoding feature is optimized.
New types of hints are supported. The system may fail to execute specific DDL statements on physical tables. In these scenarios, you can use hints to perform the required operations.
The logic for distributed deadlock detection is optimized.
The level at which the CLEAR SLOW statement is executed is changed from the schema level to the instance level.
Information about data nodes and physical databases is returned when you execute a SHOW statement on a partitioned table.
The global timestamp service for distributed transactions is optimized. Shorter timeout periods and more retries are allowed.
Fixed issues The following issue is fixed: When you execute a Show Create Table statement on a partitioned table, the system returns a syntax error if the partition names that are specified in the Create Table statement consist of only digits, and you do not specify these partition names with backticks.
The following issue is fixed: The system returns errors when you perform authorization operations in the console.
The following issue is fixed: High availability (HA) check for data nodes may become hung during a scale-in operation.
The following issue is fixed: When a proprietary protocol is used and the values of multiple session parameters are changed, query errors may occur.
The following issue is fixed: When a lookup join operation is performed on partitioned tables, the performance may be reduced because duplicate partition pruning plans are generated.
The following issue is fixed: DML statements cannot be used to query required data from specified partitions in partitioned tables.

Release date: 2022-03-14

Major version: V5.4.13

Minor version: 16462728

Type Description
New features Tables that contain GSIs and do not contain a primary key can be created.
Fixed issues The following issue is fixed: When a proprietary protocol is used, deadlock issues may occur when the connection to the backend is interrupted.
The following issue is fixed: When a proprietary protocol is used, the system may not return a response to the frontend if the system does not obtain data.
The following issue is fixed: When HLL operations are performed based on non-index key columns, errors occur.
The following issue is fixed: If the size of the table on which a DDL operation is performed exceeds 16 MB, the request cannot be committed.
The following issue is fixed: The system fails to recognize backticks in the definitions of values of the CHARACTER SET parameter and COLLATE parameter.
The following issue is fixed: Database shards are stored in an incorrect order if you use a globally unique index together with the UNIQUE constraint to partition a database.
The following issue is fixed: In MPP execution mode, query fails when the result that is returned for partition pruning is empty.

Release date: 2022-01-07

Major version: V5.4.13

Minor version: 16415631

Type Description
New features The mode in which a table is created can be specified when you create a database. The partitioning mode and the sharding mode are supported. By default, the sharding mode is used. For information about the specific syntax, see CREATE DATABASE.
The MySQL syntax for partitioning tables can be used to create a partitioned table that contains one level of partitions. The following partitioning policies are supported: hash, range, and list. For more information, see Partitioning types.
The dynamic partition pruning feature is supported for partitioned tables. You can use this feature to perform operations such as constant folding for partitioning conditions, interval merging, and query pruning based on prefixes.
Join operations on partitioned tables can be pushed down.
The partition management feature is supported for partitioned tables. You can add, delete, split, merge, and migrate partitions. For more information, see ALTER TABLEGROUP.
The table grouping feature and table group management feature are supported. You can create, delete, and modify table groups. The process in which join operations are pushed down is not affected during the partition update process. For more information, see ALTER TABLEGROUP.
The MySQL syntax for table partitioning can be used to partition global secondary index tables by using the hash partitioning method, range partitioning method, or list partitioning method. For more information, see CREATE INDEX.
The table partitioning syntax can be used to configure automatic sharding. For more information, see Automatic sharding.
Sharding can be performed on partitioned tables. For more information, see Automatic sharding in automatic partitioning mode.
When automatic sharding is performed on the GSI table of a new partitioned table, the primary key of the partitioned table is used as the sharding key. This can help you resolve access issues of hot GSIs.
Scale-out operations and scale-in operations are supported for instances.
The time to live (TTL) feature and TTL management features are supported for partitioned tables. You can change the start time and the time interval of the TTL of an resource. For more information, see What is a TTL table?.
Broadcast tables are supported by SQL Advisor.
The instant add column feature is supported.
All information that is required by the optimizer to optimize SQL queries can be obtained by using Explain Statistics.
The SHOW [GLOBALLOCAL] DEADLOCKS statement can be used to query information about the most recent deadlock issue.
The optimization scope of the cost-based optimizer (CBO) is limited to help reduce the period of time that is required by the system to optimize complex queries.
Optimized features The execution process of the Check Table statement is optimized to verify metadata consistency for definitions of base table partitions, index table partitions, and columns.
The performance of data verification tasks is optimized for specific DDL operations in the backend to accelerate GSI modification operations and DDL operations for instance scaling.
Fixed issues The following issue is fixed: Null pointers and sorting errors occur when heuristic join reorder operations are performed.
The following issue is fixed: RelNode rowtype errors occur due to AccessPathRule.
The following issue is fixed: When the value of the COLLATE parameter is set to utf8mb4_0900_ai_ci, data inconsistencies occur after a GSI is created.
The following issue is fixed: The limit on the number of logon attempts does not take effect.
The following issue is fixed: The estimated sizes in specific blocks are inaccurate.
The following issue is fixed: When a proprietary protocol is used, precision loss occurs for decimal values.
The following issue is fixed: When the system matches data of the BYTE type and the CHAR type to transmit execution plans over a proprietary protocol, errors occur.
The following issue is fixed: Metadata loss occurs for indexes after an ALTER TABLE ADD statement or DROP PRIMARY KEY statement is executed.
The following issue is fixed: If an ALTER TABLE statement is executed on a table, the schema of the table changes when the operation to shard the physical table times out, or an external interruption occur.
The following issue is fixed: When the system fails to execute a DROP INDEX statement on all physical shards, the system does not automatically roll back the data.

Release date: 2021-12-22

Major version: 5.4.12

Minor version: 16399913

Type Description
New features The Debezium synchronization tool and Maxwell synchronization tool are supported.
The automatic transaction rollback feature is supported. After the system detects a deadlock issue for a transaction, the system automatically rolls back the transaction.
Optimized features The SQL Plan Management (SPM) feature is optimized to ensure that DDL operations do not affect SPM operations in a negative manner.
Fixed issues The following issue is fixed: If an INSERT SELECT statement includes an implicit primary key and the operation is not pushed down for execution, the sequence fails to generate values for the primary key.