2025年计算节点发布说明

本文为您介绍PolarDB-X实例计算节点2025年的版本发布说明。

发布日期:2025-07-14

产品版本:V2.5.0

组件版本:5.4.20

类别

说明

新增&优化

CREATE VIEW语句现已支持PARTITION子句,允许基于分区表的特定分区创建视图。

支持ALTER USER ... ACCOUNT LOCK/UNLOCK语法。此功能允许数据库管理员手动锁定或解锁账户,增强了数据库的安全性,可有效防止暴力破解等恶意登录尝试。

新增支持修改列存索引(CCI)的分区键和排序键。此功能为数据管理提供了更高的灵活性,允许根据业务变化调整列存索引的数据分布和排序策略,而无需完全重建索引,进而优化查询性能。

DRDS模式支持表达式的路由计算。

优化DRDS模式下数据库在数据均衡的数据源切换过程中与业务DML操作之间的锁竞争问题。

优化逻辑执行DDL操作中存量数据的迁移过程,减少锁冲突。

增强DDL引擎,为dry run模式的DDL语句提供了并发和幂等控制。

优化删除列存索引(CCI)的执行过程。

修复

修复在DROP DATABASE后,物理元数据锁(MDL)的强制获取机制有概率失效的问题。

修复了在单分片场景下,分页查询结果不正确的问题。

将死锁错误的返回码由4614修复为1213。

修复无法自动收集包含列存索引(CCI)表的HyperLogLog统计信息的问题。

修复在高并发事务场景下,针对IN条件的分区裁剪可能报错的问题。

修复高权限账号在执行GRANT ROLE语句时可能失败的问题。

修复小概率情况下,可能导致列存索引(CCI)数据一致性锁无法被正确释放的问题。

修复无法从只读实例导出Binlog的问题。

修复统计信息系统表的序列(Sequence)可能落后的问题。

修复SQL限流重调度机制失效的问题。

修复在版本升级过程中,由于全球数据库(GDN)在元数据服务(GMS)中创建系统表时发生错误,从而可能导致升级失败的问题。

修复CREATE VIEW语句在定义时会丢失针对分区表指定的PARTITION子句以及PARTITION_HINT的问题。

修复CHECK GLOBAL INDEX命令在特定场景下无法检测出全局二级索引(GSI)不一致的问题。

修复窗口函数在JoinTableLookupTransposeRule中可能出现空指针异常的问题。

修复冷数据归档(TTL)表执行RENAME操作后,其自动清理调度会失效的问题。

发布日期:2025-06-19

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

优化

优化修改表组Locality属性时迁移任务的幂等判断逻辑。

优化数据量较小的表执行扩缩容的流程,以提高扩缩容性能。

优化DRDS模式数据库在数据均衡的数据源切换过程中与业务DML存在锁竞争的问题。

修复

移除EXPAND关键字。

修复列存引擎因死锁导致锁泄漏的问题。

修复高并发事务场景下IN语句裁剪报错的问题。

修复无法从只读实例Dump Binlog的问题。

修复存储池名称含有大写字母时建库失败的问题。

修复全文索引表自动FORCE INDEX导致查询报错的问题。

修复删除数据库后物理MDL强制取锁机制有概率失效的问题。

修复在跨库场景下,单表通过子查询关联有概率发生错误下推的问题。

修复INSERT语句中TIMESTAMP类型的列赋值为NULL时,多写错误下推的问题。

修复Locality直接声明存储节点的逻辑库,在缩容多个DN时元信息错误的问题。

修复在MySQL 8.0DN上因为类型转换导致UPSERT/REPLACE/INSERT IGONRE语句报错的问题。

发布日期:2025-05-19

产品版本:V2.5.0

组件版本:5.4.20

类别

说明

新增&优化

Baseline新增支持DELETE_UNFIXED指令,用于删除所有非Fixed以及非热点演化的Baseline。

Baseline新增支持版本控制,新版本产生的计划不会被老版本节点使用。

全局二级索引(GSI)新增支持前缀索引。

新增支持非Scalar含有LIMIT/ORDER BY的子查询可以转为SEMI JOIN。

分页场景下RANGE分区新增支持动态分页裁剪。

新增支持纯刷新元数据的DDLDRYRUN改写。

含有Locality的广播表新增支持JOIN下推执行。

SESSION HINT新增支持处理DRDS库中的广播表。

优化TTL按行清理时默认策略,改为仅清理非NULL值过期数据。

优化非关联Scalar子查询下推。

优化数据量较小的表执行扩缩容的逻辑。

优化IN子句含有大量参数在SQL优化裁剪时的性能。

移除EXPAND关键字。

修复

修复Range Scan的报错BlackHoleBlockBuilder cannot be cast to class DecimalBlockBuilder

修复对底层存储节点进行运维操作时,业务流量闪断、抖动等问题。

修复在为带有聚簇索引的表添加列时出现的非预期失败问题。

修复GROUPCONCAT()函数中的ORDER BY子句不支持参数化的问题。

修复在跨库场景下单表通过子查询关联有概率发生错误下推的问题。

修复在分区变更时外键相关的报错。

修复ENABLE_JAVA_UDF不支持动态开关的问题。

修复大量子查询优化器解析导致OOM(Out Of Memory,内存溢出)的问题。

修复无锁变更列类型不兼容前缀索引问题。

修复异步预热线程在删库后,再进入预热数据库时有概率导致内存元数据错乱的问题。

修复全文索引表自动FORCE INDEX导致查询失败的问题。

修复列存索引(CCI)导致丢失本地AUTO_SHARD_KEY索引的问题。

修复在HASH分区RANGE分区LIST分区下的整数类型分区列使用时间分区函数不报错的问题。

修复批量提交DDL任务时,部分等待资源锁的DDL连接无法被KILL的问题。

修复列存引擎因死锁导致锁泄漏的问题。

修复下推列子查询和IN表达式一起执行时失败的问题。

发布日期:2025-04-15

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

优化

优化事务阻塞处理逻辑,事务无法继续执行或无法提交时,服务端会自动与客户端断开连接(仅新购买实例支持该优化)。

修复

修复MPP(Massively Parallel Processing,大规模并行处理)执行模式下, PartitionWise Join结合Broadcast Shuffle执行阻塞的问题。

修复MPP执行模式下,部分JOIN查询执行阻塞的问题。

修复列存索引(CCI)导致丢失本地AUTO_SHARD_KEY索引的问题。

修复SHOW DDL语句展示数据回填进度不准确的问题。

修复对底层存储节点进行运维操作时,业务流量闪断、抖动等问题。

发布日期:2025-03-28

产品版本:V2.5.0

组件版本:5.4.20

类别

说明

新增&优化

SPM(SQL Plan Management, SQL执行计划管理)的Fix指令新增支持可以绑定执行器参数。

SPM新增支持异常告警。

CDC(日志节点)多流Binlog新增支持一个存储节点对应一个Binlog流。

数据库新增支持GB18030-2022字符集。

热点分区分裂DDL新增支持异步多写优化。

TINYINTTIMESTAMP类型新增支持SORT KEY裁剪能力。

新增支持CHECK TABLE检查二级索引的GPP(Global Primary Partitioning,全局主键分区)的属性一致性。

优化列存索引快照的元数据空间占用。

优化Information_schema.tables的数据显示。

优化无锁变更列类型时对称复制的回填性能。

优化分页查询的性能。

优化索引合并场景的适用范围。

修复

修复执行INSERT IGNORE后之前一次的主键值不符合预期的问题。

修复MPP(Massively Parallel Processing,大规模并行处理)执行模式下部分JOIN查询执行阻塞的问题。

修复自引用外键在使用表达式时,约束行为与预期不符的问题。

修复JoinPushTransitivePredicatesRule死循环问题。

修复非VARCHAR类型列的直方图统计信息未正常清理的问题。

修复高并发场景下偶现分片计算报错的问题。

修复当列存数据存在超长单列时,使用该列存数据的查询执行失败的问题。

修复使用列存索引(CCI)SORT WINDOW结果不符合预期的问题。

修复非MPP(Massively Parallel Processing,大规模并行处理)模式下聚合算子的哈希表初始容量过大的问题。

修复在执行PAUSE DDL时,有概率会出现执行超时的问题。

修复为BIT类型列(存在部分特殊值,例如0x32)创建全局二级索引(GSI)有概率失败的问题。

修复使用执行计划传输点查,且索引列的编码为UTF-8字符串,会导致查询结果不正确的问题。

修复显式关闭存在正在执行DDL语句(数据库级别)的数据库连接后,系统无法自动释放锁的问题。

修复对包含全局二级索引(GSI)的外键父表执行TRUNCATE TABLE未拦截的问题。

修复TTL二级分区表执行按行清理时DELETE语句无法直接下推的问题。

修复对JSON类型的列(存在NULL值)进行DML操作时执行失败的问题。

修复删除列存索引(CCI)后依然有元数据残留的问题。

修复智能路由错误选中归档表的问题。

修复在查询计划枚举(CBO)聚合(AGG)完全下推的场景下,JOIN操作无法下推的问题。

发布日期:2025-03-05

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

TINYINTTIMESTAMP类型新增支持SORT KEY裁剪能力。

DMS新增支持执行无锁变更语句。

新增支持CHECK TABLE检查二级索引的GPP(Global Primary Partitioning,全局主键分区)的属性一致性。

优化列存快照功能的元数据空间占用。

优化分页查询的性能。

优化无锁变更列类型时对称复制的回填性能。

优化索引合并场景的适用范围。

优化TSO(全局授时服务)事务下SELECT DISTINCT语句的性能。

修复

修复在8.0DN上因为类型转换导致的UPSERT/REPLACE/INSERT IGNORE报错的问题。

修复执行INSERT IGNORE后之前一次的主键值不符合预期的问题。

修复执行ALTER TABLE MOVE PARTITION操作后自动表组合并不生效的问题。

修复使用复用连接执行RENAME TABLE时导致非抢占MDL(元数据锁)锁的问题。

修复SHOW DDL语句展示数据回填进度不准确的问题。

修复非MPP模式下聚合算子的哈希表初始容量过大的问题。

修复使用列存索引(CCI)SORT WINDOW结果不符合预期的问题。

修复高并发场景下偶现的分片计算报错的问题。

修复使用执行计划传输点查询,且索引列的编码为UTF-8字符串,会导致查询结果不正确的问题。

修复当列存数据中存在超长单列时,使用该列存数据的查询执行失败的问题。

修复显式的关闭正在执行DDL语句(数据库级别)的数据库连接后,系统无法自动释放锁的问题。

修复对JSON类型的列(存在NULL值)进行DML操作时执行失败的问题。

修复为BIT类型列(存在部分特殊值,例如0x32)创建全局二级索引(GSI)有概率失败的问题。

修复删除列存索引(CCI)后依然有元数据残留的问题。

修复在CBO(查询计划枚举)的AGG(聚合函数)完全下推的场景下,JOIN操作无法下推的问题。更多信息,请参见SQL调优进阶

修复对包含全局二级索引(GSI)的外键父表执行TRUNCATE TABLE未拦截的问题。

修复中断正在执行的CREATE DB/DROP DB连接后,MetaDB锁无法及时释放的问题。

修复执行PAUSE DDL时,有概率会出现执行超时的问题。

修复CASCADE外键在父表执行ON DUPLICATE KEY UPDATE时可能执行失败的问题。

修复TTL二级分区表执行按行清理时DELETE没直接下推的问题

修复当INSERT SELECTON DUPLICATE KEY UPDATE共用时可能导致执行失败的问题。

修复外键UPDATENULL值时约束判断不正确的问题。

修复CDC(日志节点)重写带有特殊字符(~#@)的外键名称时执行失败的问题。

发布日期:2025-01-22

产品版本:V2.5.0

组件版本:5.4.20

类别

说明

新增&优化

DRDS库中Check Table新增支持校验LOCAL INDEX的完整性和一致性。更多信息,请参见CHECK TABLE

新增支持在事务中同时处理SCAN HINTDML。 

含有列存索引的表新增支持更多Modify/Change Column类型。更多信息,请参见CCIDDL语句限制

逻辑DML新增支持使用主键分区的GSI(全局二级索引)检测主键冲突。

优化获取统计信息的Cardinality接口,以提供更精确的Cost计算值。

优化列存索引全量拉取进度展示方式和性能。

优化升级或重启时, 自动调整统计信息定时任务的周期。

优化逻辑IN Values查询转化为物理UNION ALL的逻辑。

优化列存索引IN过多值的查询性能。

优化SHOW DDL RESULT的显式效果。

优化对auto_increment列指定值进行BATCH INSERT数据导入时的性能。

修复

修复INSERT语句存在NULL值导致PlanCache爆满的问题。

允许普通权限的数据库账号设置当前事务的事务策略为Archive,以修复Session级别指定Archive事务策略引发的变量泄露的问题。

修复使用复用连接执行RENAME TABLE时导致非抢占MDL(Metadata Lock)锁的问题。

修复在8.0DN(存储节点)上因为类型转换导致的UPSERT/REPLACE/INSERT IGONRE报错的问题。

修复TSO事务下SELECT DISTINCT性能退化的问题。

修复执行ALTER TABLE MOVE PARTITION操作后自动合并表组失效的问题。

修复Repartition MPP执行导致二级索引元信息重复的问题。

修复now()函数向上取整的问题。

修复DDL清理过程中子任务先于父任务清理,从而导致DDL Engine无法继续清理Job的问题。

修复只读实例中tx_read_only变量返回值不正确的问题。

修复外键UPDATE设为NULL值时的约束判断问题

修复当INSERT SELECTON DUPLICATE KEY UPDATE共用时可能导致执行失败的问题。

修复CASCADE外键在父表执行ON DUPLICATE KEY UPDATE时可能报错的问题。

修复KILL正在执行的CREATE DB/DROP DB连接后,MetaDB锁无法及时释放的问题。

修复表DROP执行计划后SPM(SQL Plan Management, SQL执行计划管理)未正常落盘的问题。

修复日志节点(CDC)重写带有特殊字符(例如:~#@)的外键名称时执行失败的问题。

修复HLL(HyperLogLog,一种概率算法的名称)任务因列名大小写导致的扫描失败的问题。

修复为单个表创建多个CCI(列存索引)时失败的问题。

修复UPDATE JOIN时权限检查存在遗漏的问题。

修复CBOJoinWindowTransposeRule导致查询报错的问题。

修复IN表达式在跨库查询时执行失败的问题。

修复非私有协议模式下Batch DML处理IN参数裁剪导致的与模板不匹配问题。

修复物理复制的任务在处理特殊表名时导致物理SQL执行失败的问题。

修复执行DDL变更时执行器分片计算报错,导致执行失败的问题。

修复建表和库初始化同时进行时,可能导致非Leader节点找不到表的问题。

新增支持CHECK TABLE检查二级索引的GPP属性一致性。

修复查询information_schema.columns过滤column_default列时查询失败的问题。

修复Columns元数据信息表名大小写不统一问题。

修复子查询CONVERT函数中关联项未能正常识别的问题。

修复JOIN同名列时返回列名错位的问题。

发布日期:2025-01-16

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

新增支持列存索引巡检任务,把长时间未有写入的CSV文件进行压缩。

逻辑DML新增支持使用主键分区的GSI检测主键冲突。

DRDS库新增支持Check Table校验LOCAL INDEX的完整性和一致性。更多信息,请参见CHECK TABLE

新增支持在事务中同时处理SCAN HINTDML。 

新增支持Check Table检查二级索引的GPP属性一致性。

优化获取统计信息的Cardinality接口,以提供更精确的Cost计算值。

优化逻辑IN Values查询转化为物理UNION ALL的逻辑。

优化升级或重启时, 自动调整统计信息定时任务的周期。

优化设置事务的策略,允许SET drds_transaction_policy=archive

优化SHOW DDL RESULT的显示效果。

优化单表转换为只有1个分区的分区表时的执行逻辑,仅修改元数据,不做数据迁移,以提高转换性能。

修复

修复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对字符串类型处理的异常。

修复BaselineFix视图时,表的元数据变更不会自动重建相关计划的问题。

修复JOIN同名列时返回列名错位的问题。

修复Columns元数据信息表名大小写不统一问题。

修复多个ALTER MODIFY TTL语句并发修改TTL表相关参数时,有概率出现错误元数据的问题。

修复Baseline Fix的计划因执行报错次数超出阈值而导致Fix失效的问题。

发布日期:2024-12-24

产品版本:V2.5.0

组件版本:5.4.20

类别

说明

新增&优化

新增INFORMATION_SCHEMA.DDL_INFO视图,可查询所有DDL的状态等信息,用于外部判断DDL幂等(DMSGDN)。

列存只读实例新增支持开启事务,且一个事务内的查询的是同一个一致性快照。

新增支持库级列存索引批量操作。

数据表新增支持多个列存索引。

新增支持列存索引巡检任务,把长时间未有写入的CSV文件进行压缩。

新增支持CHECK约束。具体信息,请参见CHECK约束

IN向量化表达式新增支持字典编码。

新增支持并行Sort Window执行优化。

新增支持INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES视图。

优化DDL MPP调度器在多个节点上对Task的分配均衡性。

优化在列存只读实例执行的查询,部分场景下支持流式早停。

优化EXPLAIN ANALYZE语句的返回结果展示,增加exchangeoss table scanIO字节数。

优化分页查询的执行性能。

优化列存索引快照的元数据空间占用。

优化索引合并场景的适用范围。

修复

修复列存只读实例上列存事务泄漏问题。

修复建表语句中ENUM类型的枚举值中带,导致建表失败问题。

修复JSON_SET对字符串类型处理的异常。

修复统计信息直方图反复序列化时会导致空间占用膨胀的问题。

修复Baseline在删除过程中,因同时有写入Baseline的请求而导致Baseline删除失败的问题。

修复多个ALTER MODIFY TTL语句并发修改TTL表相关参数时,有概率出现错误元数据的问题。

修复关于HLL(HyperLogLog,一种概率算法的名称)保留字同名列采集异常的问题。

修复带高精度的Timestamp类型执行分区路由失败的问题。

修复对不含有GSI/CCI的表执行Truncate/Drop分区操作时,因表组中存在含有GSI/CCI的表,从而导致Truncate/Drop分区操作执行失败的问题。

修复因表结构发生变更导致Baseline Hint Bind失效的问题。

修复扩缩容增量数据同步阶段,对字符串类型字符集处理错误导致任务暂停问题。

修复BaselineFix视图时,表的元数据变更不会自动重建相关计划的问题。

修复无锁列类型变更导致全局聚簇索引表丢失部分Local Index的问题。

修复Baseline Fix的计划因执行报错次数超出阈值而导致Fix失效的问题。