Skip to content

polardbx-sql-5.4.19-20250822_17558320

Latest

Choose a tag to compare

@junyue3 junyue3 released this 22 Aug 06:22
· 3 commits to main since this release

RELEASE NOTE

Feature enhancement

Improved idempotency logic for migration tasks when modifying the Locality attribute of a table group.
Optimized the scale-out/scale-in process for tables with a small data volume.
Resolved lock contention issues between business DML operations and data source switching during data rebalancing in DRDS mode databases.
Mitigated business traffic interruptions and jitters during maintenance operations on underlying storage nodes.
Added support for Sort Key pruning for TINYINT and TIMESTAMP data types.
Introduced support for lock-free schema change statements in DMS.
Added a consistency check for the GPP (Global Partition Placement) attribute of secondary indexes via the CHECK TABLE command.
Optimized metadata space consumption for Columnar Storage Index (CSI) snapshots.
Enhanced the performance of paginated queries.
Improved the backfill performance of symmetric replication during lock-free column type alterations.
Expanded the applicability of index merging scenarios.
Boosted the performance of SELECT DISTINCT statements under TSO (Timestamp Oracle) transactions.
Refined the Cardinality interface for statistics collection to provide more accurate cost calculations.
Optimized the logic for converting logical IN (...) queries into physical UNION ALL operations.
Adjusted the scheduling period of the automatic statistics collection task during system upgrades or restarts.
Allowed users to set the current transaction policy to Archive, preventing variable leakage issues caused by specifying the Archive policy at the session level.
Introduced a patrol task for Columnar Storage Indexes to compact CSV files that have not been written to for an extended period.
Enabled primary key conflict detection using GSI (Global Secondary Index) for logical DMLs on primary key partitioned tables.
Added support for CHECK TABLE to verify the integrity and consistency of LOCAL INDEX in DRDS mode databases.
Enabled concurrent processing of SCAN HINT and DML statements within a single transaction.
Improved the display format of SHOW DDL RESULT.
Enhanced task allocation balance for the DDL MPP scheduler across multiple nodes.
Optimized the performance of partition routing calculations for Columnar Storage Indexes.
Refined the metadata cleanup process in DRDS mode databases to prevent deadlocks.
Improved the result display of the SELECT polardb_version() statement.
Optimized the metadata deletion process in the columnar engine to reduce GMS (Global Meta Service) resource consumption.
Added support for parallel SortWindow execution optimization.
Optimized the metadata deletion process on columnar read-only instances to reduce GMS resource consumption.
Refined the physical partition scanning order for UPDATE ... ORDER BY ... LIMIT queries to reduce the number of scanned partitions and improve execution efficiency.
Enabled TRUNCATE TABLE operations on tables containing a Columnar Storage Index.
Added support for automatically identifying partitioned tables without GSI during scale-out/scale-in operations, enabling partition pruning for UPSERT statements based on the primary table.

Bugfix

Fixed an issue where UPSERT/REPLACE/INSERT IGNORE statements failed on DNs (Data Nodes) running version 8.0 due to type conversion errors.
Fixed a bug that caused database creation to fail when a storage pool name was declared in uppercase.
Addressed a problem where the mandatory MDL (Metadata Lock) acquisition mechanism could fail after a database was dropped.
Resolved an error in IN clause pruning under high-concurrency transaction scenarios.
Fixed an issue where subqueries involving single-table associations in cross-database scenarios could lead to incorrect pushdowns.
Corrected a query failure caused by automatic FORCE INDEX on full-text indexed tables.
Removed the EXPAND keyword.
Fixed an inability to dump Binlog from read-only instances.
Resolved a metadata error that occurred when scaling in multiple DNs for a logical database with Locality directly declared on storage nodes.
Fixed a lock leak issue in the columnar engine caused by deadlocks.
Corrected an erroneous write pushdown that occurred when assigning NULL to a TIMESTAMP column in an INSERT statement.
Fixed a deadlock issue in MPP (Massively Parallel Processing) execution mode involving PartitionWise Join combined with Broadcast Shuffle.
Resolved execution deadlocks for certain JOIN queries in MPP mode.
Fixed an issue where CCI (Clustered Columnar Index) caused the loss of a local auto_shard_key index.
Corrected inaccuracies in the data backfill progress displayed by SHOW DDL statements.
Fixed an issue where UPSERT/REPLACE/INSERT IGNORE statements failed on DNs running version 8.0 due to type conversion errors.
Resolved a bug where the primary key value was unexpected after executing an INSERT IGNORE statement.
Fixed a problem where automatic table group merging failed after an ALTER TABLE MOVE PARTITION operation.
Addressed an issue where using a reused connection to execute RENAME TABLE led to non-preemptive MDL acquisition.
Corrected inaccuracies in the data backfill progress displayed by SHOW DDL statements.
Fixed a problem where the initial capacity of the hash table for aggregate operators was excessively large in non-MPP mode.
Resolved an issue where SORT WINDOW results were incorrect when using a Columnar Storage Index.
Fixed a sharding calculation error that occurred intermittently under high-concurrency scenarios.
Corrected a query result inaccuracy when using an execution plan for point lookups on index columns with UTF-8 encoding.
Fixed a query failure that occurred when columnar data contained an exceptionally long single column.
Resolved an issue where locks were not automatically released after explicitly closing a database connection with an active database-level DDL statement.
Fixed a DML execution failure on JSON type columns containing NULL values.
Addressed a potential failure when creating a GSI on a BIT type column with specific values (e.g., 0x32).
Fixed an issue where residual metadata remained after deleting a Columnar Storage Index.
Resolved a problem where a JOIN operation could not be pushed down when an aggregate (AGG) was fully pushed down in a CBO (Cost-Based Optimization) scenario.
Fixed a failure to intercept TRUNCATE TABLE operations on a foreign key parent table containing a GSI.
Addressed a delay in MetaDB lock release after killing a connection executing CREATE DB/DROP DB.
Fixed an issue where a DDL pause could fail due to execution timeout.
Resolved a potential error when a cascaded foreign key's parent table executed an ON DUPLICATE KEY UPDATE statement.
Fixed an issue where DELETE operations were not directly pushed down during row-by-row cleanup by TTL on a secondary partitioned table.
Corrected a potential execution failure when INSERT SELECT was used with ON DUPLICATE KEY UPDATE.
Fixed an incorrect constraint check when a foreign key was updated to a NULL value.
Resolved an execution failure when the CDC (Change Data Capture) process rewrote a foreign key name containing special characters (~#@).
Fixed a query error caused by the CBOJoinWindowTransposeRule.
Addressed a Plan Cache exhaustion issue caused by INSERT statements with NULL values.
Fixed a columnar transaction leak on columnar read-only instances.
Corrected the rounding-up behavior of the now() function.
Fixed an issue where Repartition MPP execution caused duplicate secondary index metadata.
Resolved a problem where DDL sub-tasks were cleaned up before parent tasks, preventing the DDL Engine from continuing job cleanup.
Addressed a delay in MetaDB lock release after killing a connection executing CREATE DB/DROP DB.
Fixed a template mismatch issue in non-private protocol mode caused by IN parameter pruning in Batch DML processing.
Resolved a failure where SPM (SQL Plan Management) did not properly persist a plan after a table was dropped.
Addressed a missing permission check during UPDATE JOIN operations.
Fixed a scanning failure in HLL tasks caused by case sensitivity in column names.
Resolved an execution failure for IN expressions in cross-database queries.
Fixed a query failure when filtering the column_default column in information_schema.columns.
Corrected an execution failure caused by a sharding calculation error in the executor during a DDL change.
Fixed a physical SQL execution failure in physical replication tasks when handling special table names.
Resolved an issue where a non-leader node could not find a table when table creation and database initialization occurred concurrently.
Corrected a character set handling error for string types during incremental data synchronization in scale-out/scale-in operations, which caused tasks to pause.
Fixed a failure to correctly identify correlated items in the CONVERT function within a subquery.
Resolved a partition routing failure for Timestamp types with high precision.
Fixed an exception in JSON_SET handling of string types.
Addressed an issue where Baseline did not automatically rebuild related plans when a table's metadata changed during a view fix.
Corrected a column name mismatch in the result set of a JOIN with identically named columns.
Fixed a bug where the GPP (Global Partition Placement) attribute consistency check for secondary indexes was not correctly implemented by the CHECK TABLE command.
Resolved a case inconsistency issue for table names in the Columns metadata information.
Fixed a potential metadata error when concurrently modifying TTL table parameters using multiple ALTER MODIFY TTL statements.
Addressed a Baseline Fix invalidation issue caused by the number of execution errors exceeding the threshold.
Fixed an issue where statistics for tables on a MySQL 8.0 storage engine were not real-time when queried by SHOW DB STATUS, SHOW TABLE INFO, or REBALANCE.
Resolved a failure of Truncate/Drop partition operations on tables without GSI/CCI, which was caused by the presence of other tables with GSI/CCI in the same table group.
Fixed a Baseline deletion failure that occurred when a write request to Baseline arrived concurrently with the deletion process.
Addressed an anomaly in data collection for columns named after the HLL (HyperLogLog) reserved keyword.
Fixed an issue where a lock-free column type change caused the loss of some local indexes on a globally clustered index table.
Resolved a space bloat issue caused by repeated serialization of statistics histograms.
Fixed a BaselineHintBind invalidation issue triggered by table structure changes.
Optimized the execution logic for adding partitions to a partitioned table.
Added support for the INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES view.
Fixed a failure to create an unnamed full-text index on a foreign key table.
Corrected a metadata read error when executing physical DDL on a logical table with a large number of shards.
Fixed an execution failure when vectorizing an IN operation on a string column containing NULL values.
Resolved a connection leak issue when a Follower copied database file snapshots during physical replication.
Fixed a rollback failure that occurred if a connection was interrupted during an ALTER TABLE MODIFY statement.
Addressed a system error when executing CREATE DATABASE LIKE if the source database's COLLATE attribute was an empty string.
Fixed an issue where memory from temporary tables was not released after an iterative subquery completed.
Resolved an issue where FORCE INDEX did not support specifying a columnar archive table.
Fixed a problem where HINTs for specific shards did not take effect in some queries containing an IN subclause.
Corrected an unexpected sorting result when using RangeScan with an ORDER BY ASC statement.
Fixed a potential "invalid group or physical table names" error during queries executed amidst a partition migration.
Resolved a system error when reading metadata for a logical table with a massive amount of data.
Fixed an incomplete result set issue with the BKAJoin + SortMergeJoin operator combination in scenarios with a large number of join matches.
Addressed a potential deadlock when a database drop operation occurred concurrently with a scale-out/scale-in process.
Fixed a Window query error caused by the ProjectWindowTransposeRule.
Corrected a failure of Direct HINT to properly replace physical table names.
Resolved an illegal error in routing calculation caused by value truncation in an equality query on a prefix-partitioned column.
Fixed an issue where the PARSER specified for a full-text index was lost during table creation.
Fixed an optimizer error caused by the ProjectToWindowRule.
Corrected an erroneous execution result caused by the SemiJoinJoinTransposeRule.
Resolved an SQL execution failure on a DECIMAL primary key table due to global index selection.
Fixed a BKAJoin operator failure caused by type mismatch during execution.
Addressed an issue where the scheduled task for HLL (HyperLogLog) could not be initiated correctly.
Fixed a query failure caused by an error in Selectivity calculation within a subquery execution plan.
Resolved an issue where the Spill counter was not reset to zero after a temporary table was spilled to disk.
Fixed a null pointer exception caused by the ProjectWindowTransposeRule.

发布说明

特性更新

优化修改表组Locality属性时迁移任务的幂等判断逻辑。
优化数据量较小的表执行扩缩容的流程。
优化DRDS模式数据库在数据均衡的数据源切换过程中与业务DML存在锁竞争的问题。
优化对底层存储节点进行运维操作时,业务流量闪断、抖动等问题。
TINYINT、TIMESTAMP类型新增支持SORT KEY裁剪能力。
DMS新增支持无锁变更语句执行。
新增支持check table检查二级索引的GPP属性一致性。
优化列存索引快照的元数据空间占用。
优化分页查询的性能。
优化无锁列类型变更时对称复制的回填性能。
优化索引合并场景的适用范围。
优化TSO(全局授时服务)事务下SELECT DISTINCT语句的性能。
优化获取统计信息的Cardinality接口,已提供更精确的Cost计算值。
优化逻辑IN Values查询转化为物理UNION ALL的逻辑。
优化升级或重启时, 自动调整统计信息定时任务的周期。
优化用户设置当前事务的事务策略,允许将其设置为Archive,以避免Session级别指定Archive事务策略引发的变量泄露问题
新增支持列存索引巡检任务,把长时间未有写入的CSV文件进行Compaction。
逻辑DML新增支持使用主键分区的GSI检测主键冲突。
DRDS库新增支持Check Table校验LOCAL INDEX的完整性和一致性。
支持在事务中同时处理SCAN HINT和DML。
优化SHOW DDL RESULT的显示效果。
优化DDLMPP调度器在多个节点上对Task的分配均衡性。
优化列存索引计算路由分区时的性能。
优化DRDS模式数据库清理元数据过程,避免死锁的发生。
优化SELECTpolardb_version();语句的结果展示。
优化列存引擎删除元数据的流程,以减轻GMS资源消耗。
新增支持并行SortWindow执行优化。
优化列存只读实例删除元数据的流程,以减轻GMS资源消耗。
优化 UPDATE ORDER BY LIMIT这些SQL执行时扫描物理分区的顺序,以减少扫描的分区数量,提高执行效率。
包含列存索引的表新增支持TRUNCATE TABLE操作。
扩缩容期间新增支持自动识别未包含GSI的分区表,并对UPSERT语句下发的查询按照主表进行分区裁剪。

问题修复

修复在8.0的DN上因为类型转换导致的UPSERT/REPLACE/INSERT IGONRE报错的问题。
修复存储池名称声明为大写字母时建库失败的问题。
修复删除数据库后物理MDL强制取锁机制有概率失效的问题。
修复高并发事务场景下IN裁剪报错的问题。
修复在跨库场景下单表通过子查询关联有概率发生错误下推的问题。
修复全文索引表自动FORCE INDEX导致查询报错的问题。
移除EXPAND关键字。
修复无法从只读实例Dump Binlog的问题。
修复Locality直接声明存储节点的逻辑库,在缩容多个DN时元信息错误的问题。
修复列存引擎因死锁导致锁泄漏的问题。
修复Insert语句中Timestamp类型的列赋值为null时多写错误下推的问题。
修复MPP(Massively Parallel Processing,大规模并行处理)执行模式下, PartitionWise Join结合Broadcast Shuffle执行阻塞的问题。
修复MPP执行模式下部分JOIN查询执行阻塞的问题。
修复CCI导致丢失本地auto_shard_key索引的问题
修复SHOW DDL语句展示数据回填进度不准确的问题。
修复对底层存储节点进行运维操作时,业务流量闪断、抖动等问题。
修复在8.0的DN上因为类型转换导致的UPSERT/REPLACE/INSERT IGONRE报错的问题。
修复执行INSERT IGNORE后之前一次的主键值不符合预期的问题。
修复执行ALTER TABLE MOVE PARTITION操作后自动合并表组失效的问题。
修复使用复用连接执行RENAME TABLE时导致非抢占MDL(Metadata Lock)锁的问题。
修复SHOW DDL语句展示数据回填进度不准确的问题。
修复非MPP模式下聚合算子的哈希表初始容量过大的问题。
修复使用列存索引后SORT WINDOW结果不符合预期的问题。
修复高并发场景下偶现的分片计算报错的问题。
修复使用执行计划传输点查,且索引列的编码为UTF-8字符串,会导致查询结果不正确的问题。
修复当列存数据存在超长单列时,使用该列存数据的查询执行失败的问题。
修复显式关闭存在正在执行DDL语句(数据库级别)的数据库连接后,系统无法自动释放锁的问题。
修复对JSON类型的列(存在NULL值)进行DML操作时执行失败的问题。
修复为BIT类型列(存在部分特殊值,例如0x32)创建GSI有概率失败的问题。
修复删除列存索引后依然有元数据残留的问题。
修复在CBO(Cost-Based Optimization)的AGG(聚合)完全下推的场景下,JOIN操作无法下推的问题。
修复对包含GSI的外键父表执行TRUNCATE TABLE未拦截的问题。
修复KILL正在执行的CREATE DB/DROP DB连接后,MetaDB锁无法及时释放的问题。
修复执行DDL暂停时,有概率因为执行超而暂停失败的问题。
修复CASCADE外键在父表执行ON DUPLICATE KEY UPDATE时可能报错的问题。
修复 TTL 在二级分区表执行按行清理时 DELETE 没直接下推的问题
修复当INSERT SELECT与ON DUPLICATE KEY UPDATE共用时可能导致执行失败的问题。
修复外键UPDATE为NULL值时约束判断不正确的问题。
修复CDC重写带有特殊字符(~#@)的外键名称时执行失败的问题。
修复CBOJoinWindowTransposeRule导致查询报错的问题。
修复INSERT语句存在NULL值导致Plancache爆满的问题。
修复列存只读实例上列存事务泄漏问题。
修复now()函数向上取整的问题。
修复Repartition MPP执行导致二级索引元信息重复的问题.
修复DDL清理过程中子任务先于父任务清理,从而导致DDL Engine无法继续清理Job的问题。
修复KILL正在执行的CREATE DB/DROP DB连接后,MetaDB锁无法及时释放的问题。
修复非私有协议模式下Batch DML处理IN参数裁剪导致的与模板不匹配问题。
修复表DROP执行计划后SPM未正常落盘的问题。
修复UPDATE JOIN时权限检查存在遗漏的问题。
修复HLL任务因列名大小写导致的扫描失败的问题。
修复IN表达式在跨库查询时执行失败的问题。
修复查询information_schema.columns过滤column_default列时查询失败的问题。
修复执行DLL变更时执行器分片计算报错,导致执行失败的问题。
修复物理复制的任务在处理特殊表名时导致物理SQL执行失败的问题。
修复建表和库初始化同时进行时,可能导致非Leader节点找不到表的问题。
修复扩缩容增量数据同步阶段,对字符串类型字符集处理错误导致任务暂停问题。
修复子查询CONVERT函数中关联项未能正常识别的问题。
修复带高精度的Timestamp类型执行分区路由失败的问题。
修复JSON_SET对字符串类型处理的异常。
修复Baseline在Fix视图时,表的元数据变更不会自动重建相关计划的问题。
修复JOIN同名列时返回列名错位的问题。
新增支持check table检查二级索引的GPP属性一致性。
修复Columns元数据信息表名大小写不统一问题。
修复多个ALTER MODIFY TTL语句并发修改TTL表相关参数时,有概率出现错误元数据的问题。
修复Baseline Fix的计划因执行报错次数超出阈值而导致Fix失效的问题。
修复SHOWDBSTATUS、SHOWTABLEINFO、REBALANCE语句查询存储引擎为MySQL8.0的表统计信息非实时的问题。
修复对不含有GSI/CCI的表执行Truncate/Drop分区操作时,因表组中存在含有GSI/CCI的表,从而导致Truncate/Drop分区操作执行失败的问题。
修复Baseline在删除过程中,因同时有写入Baseline的请求而导致Baseline删除失败的问题。
修复关于HLL(HyperLogLog,一种概率算法的名称)保留字同名列采集异常的问题。
修复无锁列类型变更导致全局聚簇索引表丢失部分localindex问题
修复统计信息直方图反复序列化时会导致空间占用膨胀的问题。
修复因表结构发生变更导致BaselineHintBind失效的问题。
优化分区表执行添加分区时的执行逻辑。
新增支持INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES视图。
修复外键表创建无名全文索引失败的问题。
修复对于分片较多的逻辑表执行物理DDL时时元数据读取错误的问题。
修复向量化IN字符串列时,其中存在NULL值导致执行失败的问题。
修复物理复制的过程中Follower拷贝数库数据文件快照时,连接泄露的问题。
修复在ALTER TABLE MODIFY语句的执行过程中,如果连接中断,回滚失败的问题。
修复在源库的COLLATE属性为空串时,执行CREATE DATABASE LIKE语句系统报错的问题。
修复迭代子查询完成后,临时表内存不释放的问题。
修复FORCE INDEX不支持指定列存归档表的问题。
修复指定分表的HINT,在部分含有IN子句的查询中不生效的问题。
修复执行ORDER BY ASC语句并使用RangeScan,导致排序不符合预期的问题。
修复在分区迁移过程中,进行查询操作时,有概率出现invalid group or physical table names报错的问题。
修复读取具有大规模数据逻辑表的元数据时,系统报错的问题。
在关联匹配结果集很多的情况下,修复BKAJoin+SortMergeJoin的算子组合会导致结果集输出不完整的问题。
修复删库操作与扩缩容同时出现时有概率出现死锁的问题。
修复ProjectWindowTransposeRule导致Window查询报错的问题。
修复Direct HINT未能正确替换物理表名的问题。
修复执行前缀分区列的等值查询时,因其查询值出现截断,导致路由计算出现非法报错的问题。
修复新建表时全文索引指定的PARSER丢失的问题。
修复ProjectToWindowRule导致优化器报错的问题。
修复SemiJoinJoinTransposeRule导致执行结果错误的问题。
修复DECIMAL主键表,因为全局索引选择,导致SQL执行失败的问题。
修复BKAJoin算子在执行时,因类型不一致,导致执行失败的问题。
修复关于HLL(HyperLogLog,一种概率算法的名称)的定时任务无法正常发起的问题。
修复子查询执行计划中计算Selectivity时报错,导致查询失败的问题。
修复临时表落盘后,Spill计数器未归零的问题。
修复ProjectWindowTransposeRule导致空指针的问题。