2023年计算节点发布说明

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

发布日期:2023-12-27

大版本:V5.4.18

小版本:17034692

类别

说明

新增&优化

新增支持AUTO模式数据库的co_hash分区策略。

优化使用AB表方案进行事务日志清理的流程,避免一次性对所有库的日志进行清理,该功能在新实例上默认打开。

优化CN单条连接内Prepare语句超出限制后的报错信息。

优化扩缩容过程中的数据迁移方式,详情请参见增加/减少节点

缺陷修复

修复永真条件下IO计算错误的问题。

修复Xplan生成并发安全的问题。

修复统计信息采集失败的问题。

修复AUTO模式数据库中Select不带表名时,语句执行报错的问题。

修复INSERT中存在多个相同列时的异常行为。

修复show create table展示的auto_increment值可能错误的问题。

修复inspect index功能对GSI区分度计算错误的问题。

修复存储过程中游标数据量过大时可能导致NPE的问题。

修复SPM中执行计划无法正常删除的问题。

修复全下推的执行计划进入SPM的问题。

发布日期:2023-12-21

大版本:V5.4.17

小版本:17025353

类别

说明

新增&优化

新增SKIP_PHYSICAL_ANALYZE参数用于跳过analyze tableDNanalyze操作。

新增支持动态调整分区表分区名字的最大长度。

优化analyze table逻辑,避免对GSI做统计信息采集。

统计信息支持对未采集到的时间列数据进行合理预测。

优化表组的表数目过大时,AUTO模式数据库中建表的速度。

优化AUTO模式数据库中表数据量较大时,建表的速度。

优化部分场景下数据迁移过程的校验速度。

缺陷修复

修复XRPC下使用流式早停,小概率导致实例级连接池切库失败的问题。

修复子查询大于等于三项关联项时,关联匹配错乱的问题。

修复DDL操作可能导致CN统计信息不一致的问题。

修复修改拆分区列类型时,如果存在大写列名执行会失败的问题。

修复DML逻辑执行中报JSON不支持的问题。

修复alter table修改default charset语法不兼容问题。

修复在binlog dump连接中发送ping请求导致线程泄漏的问题。

修复连接被KILL时小概率导致事务泄露的问题。

发布日期:2023-11-22

大版本:V5.4.18

小版本:17004745

类别

说明

新增&优化

优化AUTO模式数据库中表数据量较大时创建表的效率。

新增plan_cache视图返回默认库下的执行计划。

优化AUTO模式数据库中并发建表的效率。

缺陷修复

修复alter table指定不存在的库名时,报错不友好问题。

修复在同一条alter table语句中drop columnmodify column同时出现时,执行失败的问题。

修复窗口函数中order bypartition by字段为空时,在某些执行模式下执行可能报错的问题。

修复查询information schema下的tables视图可能报错的问题。

修复修改拆分区列类型时,如果存在大写列名执行会失败问题。

修复XRPC下使用流式早停,小概率导致实例级连接池切库失败的问题。

修复show warnings的警告信息条数不正确的问题。

修复rollback ddl可能无法中断analyze table的问题。

修复数据迁移/添加索引等过程中,如果表存在字符串类型,可能会导致该类型在目标表数据不正确的问题。

修复TruncateTableTableDetail视图的GSI相关数据会丢失的问题。

修复alter table修改AVG_ROW_LENGTH时,执行失败的问题。

修复部分非模板化二级哈希分区建表语法,被当作模板化哈希分区语法的问题。

发布日期:2023-11-13

大版本:V5.4.17

小版本:16994228

类别

说明

新增&优化

优化统计信息错误场景下IN查询uk列的执行计划。

优化二级分区DDL任务反序列化的速度。

优化TTL表添加全局二级索引的速度。

缺陷修复

修复sharding场景无法利用logicalview缓存的问题。

修复DML逻辑执行中不支持JSON的问题。

修复auto savepoint导致备库重放失败的问题。

修复information_schema中部分视图带有IN查询条件,导致无法正常查出数据的问题。

修复information_schema.tables视图在分区过多时查询过慢的问题。

修复关闭事务时小概率出现连接泄露的问题。

修复可下推子查询特殊场景下的列映射错误问题。

发布日期:2023-10-23

大版本:V5.4.18

小版本:16977056

类别

说明

新增&优化

新增支持外键约束。

新增支持修改用户高权限账号。

新增支持SQL Log记录Error Code。

新增支持Create Table [As] Select语法。

新增视图information_storage_status,以获取GMSDN节点的实时监控。

新增HashWindow的执行模式以提高窗口函数的性能。

优化热力图功能,降低耗时。

变更统计信息sample采集频率为每天一次。

优化二级分区DDL任务的反序列化性能。

AUTO模式数据库分区表新增支持使用指定小数精度为0Decimal类型作为分区列。

缺陷修复

修复Error Code输出格式不规范的问题。

修复information_schema.plan_cache视图返回重复值且不能显示缓存参数的问题。

修复建表时包含encryption关键字引起解析失败的问题。

修复DML语句中包含View时,语义校验异常导致优化器报错的问题。

修复partition hint不支持session变量语句的问题。

修复current_user函数返回结果格式不正确的问题。

修复部分DAL指令在高并发场景下存在并发安全风险的问题。

修复Agg查询索引覆盖误判导致报错的问题。

修复带uk的表replace json报错的问题。

修复resize命令修改PlanCache大小后没有存储到metaDB中,导致CN重启后PlanCache大小仍为默认值的问题。

修复List分区修改values后数据丢失的问题。

发布日期:2023-10-16

大版本:V5.4.17

小版本:16971811

类别

说明

新增&优化

私有协议新增支持reload datasources。

支持对大规模分片DDL任务的压缩存储,优化DDL引擎的调度响应时间。

缺陷修复

修复SQL中包含恒假表达式时在事务内执行可能报错的问题。

修复扩缩容过程中存在悬挂事务时,可能存在数据不一致的问题。

修复开启useAffectedRows后,在GSI的复杂DML情况下,affected rows不正确的问题。

修复嵌套BKAJoin概率报错的问题。

修复私有协议获取TSO小概率报错的问题。

修复分区表内的最大物理分区数目限制,在使用二级分区后没有正确生效的问题。

修复在网络抖动场景下,DDL执行结果偶发返回错误的问题。

修复高频执行DDL时,偶发系统表死锁报错的问题。

修复因大小写问题可能导致的InformationSchematable_details查询报NPE的问题。

修复部分场景下子查询转semi-join的优化,可能导致查询报错的问题。

发布日期:2023-09-22

大版本:V5.4.17

小版本:16952556

类别

说明

新增&优化

新增支持快速中断扩缩容过程中的校验任务。

新增useAffectedRows支持。

新增支持自动分区表下create global index语法无需指定分区键的功能。

分区表建表时新增支持使用Decimal作为分区列。

优化定时任务使用随机线程池bucket,防止占满单个bucket的线程。

优化load data在私有协议下的性能。

优化TTL表预分区的逻辑。

优化pause/cancel/rollback rebalance ddl的中断逻辑。

优化TTL表的归档定时任务。

优化同一tablegroup中表数量过多时DDL的执行效率。

缺陷修复

修复check global index可以并发执行的问题。

修复check global index show报错的问题。

修复归档表在JDBC协议下的兼容性。

修复未加入主实例集群的只读实例DN存在和主实例CN保有连接池的问题。

修复create table with gsi部分情况下执行失败且无法自动回滚的问题。

修复部分DAL指令在高并发下存在并发安全风险的问题。

修复部分场景下执行器没有选择走xplan的问题。

修复使用xplan访问带生成列的表导致crash的问题。

修复已建AUTO数据库SHOW CREATE DATABASE命令在部分场景下会报NPE的问题。

修复私有协议chunk传输在类型推导有误时,字符串转整型存在负号时不能识别的问题。

修复数据库表数量过多时,扩缩容流程可能会失败的问题。

修复BKAJoin场景下的路由计算问题。

修复information_schema.table_constraints视图对于无主键表、复合索引、全局索引的显示错误问题。

修复数据校验流程可能被数据迁移任务阻塞的问题。

发布日期:2023-08-18

大版本:V5.4.17

小版本:16921956

类别

说明

新增&优化

创建AUTO模式数据库的语句中新增default_single=‘on’参数,表示此数据库默认创建单表而且自动打散各个DN。

新增支持非事务场景下的跨库单表下推。

新增私有协议下的锁等待检测,自动处决阻塞物理DDL超过15s的长事务。

优化list default子分区场景下,对变更表组级分区、表级分区的支持。

优化冷数据归档的运维窗口,避免异常中断的归档任务在运维窗口之外被拉起。

优化冷数据归档任务的异常处理逻辑。

缺陷修复

修复在读写分离场景下,只读DN异常导致主实例重启失败的问题。

修复多列IN查询包含HEX表达式时解析错误的问题。

修复lookup执行器在执行阶段访问mq获取column信息的并发问题。

修复长事务遇到事务日志清理可能会阻塞其他事务的问题。

修复rename table对多张表操作时,可能产生死锁的问题。

修复带分区函数的子分区表点查时路由裁剪有概率报NPE的问题。

修复select @@global.server_id查询结果不符合预期的问题。

修复create table if not exists like非预期报错的问题。

修复SPM自动演化计划不能正常选中的问题。

修复优化器复合索引扫描代价估算错误的问题。

修复子分区在MovePartition过程中部分DML执行会NPE报错的问题。

修复GSI在删除之后可能出现元数据残留的问题。

修复DRDS模式数据库在扩容后,LSN设置失败的问题。

修复广播表执行DML包含rand()函数导致数据不一致的问题。

修复索引名称为hash时,创建索引失败的问题。

发布日期:2023-07-28

大版本:V5.4.16

小版本:16901668

类别

说明

新增&优化

新增支持创建用户时的密码中包含双引号。

缺陷修复

修复通过show stats查询时活跃连接数为负数的问题。

修复广播表执行包含rand()函数的DML语句时数据不一致的问题。

修复执行语法不正确的DDL时,DDL有概率卡住的问题。

修复主实例反复变配过程中,GMS连接池存在连接泄露风险的问题。

修复date_add函数计算问题。

修复执行alter table drop index时索引名带特殊字符引起的删除失败问题。

修复分区键变更的优化失效问题。

修复information_schema tables视图中charset collate不准确的问题。

修复优化器复合索引扫描代价估算错误的问题。

发布日期:2023-07-24

大版本:V5.4.17

小版本:16899058

类别

说明

新增&优化

新增useAffectedRows支持。

新增视图information_storage_status以获取GMSDN实时监控。

缺陷修复

修复长事务在事务日志清理时可能会阻塞其他事务的问题。

修复DML语句中包含视图时,语义校验异常导致优化器报错的问题。

修复包含'BIGINT SIGNED'列定义的建表语句及解析语法报错的问题。

修复特殊Project-Agg组合场景下,相关联子查询条件抽取异常导致优化器报错的问题。

修复filter不完全推导的问题。

修复partition hint不支持session变量语句的问题。

修复INSERT IGNORE SELECT语句,SELECT子句中包含相关联子查询时,部分场景下报错的问题。

修复INSERT SELECT中包含不可下推算子时,执行计划报错的问题。

修复partition By Key不指定列时建表报错的问题。

修复只读实例维护白名单,导致主实例节点无法sync到只读节点的问题。

修复analyze table无法立即暂停/回滚的问题。

修复执行语法不正确的DDL时,DDL有概率卡住的问题。

修复在JDBC模式下,通过DMS不带执行limit的大表扫描时可能偶发报错的问题。

发布日期:2023-07-13

大版本:V5.4.17

小版本:16890724

类别

说明

优化

优化索引的缺省命名逻辑,与MySQL保持一致。

缺陷修复

修复部分场景下填充默认值阶段报错的问题。

修复定时任务无法正常收集统计信息的问题。

修复只读实例维护白名单,导致主实例节点无法同步到只读节点的问题。

修复SUM函数在部分场景下结果不正确的问题。

发布日期:2023-07-06

大版本:V5.4.17

小版本:16885239

类别

说明

新增&优化

优化auto-savepoint的逻辑,该功能默认打开。

优化普通账户执行set global不生效时的返回信息,优化后会上报warning。

新增支持执行show table replicate status指令时展示当前库所有表和GSI的状态。

新增支持使用set cdc global key=value设置CDC相关的系统变量。

优化物理MDL锁等待检测机制。

MPP模式新增支持计算节点的session变量设置。

缺陷修复

修复inspect index在某些情况下失败的问题。

修复主实例和只读实例的DN同时发生HA时,HA探测任务失效的问题。

修复TRIM函数的类型推导不正确的问题。

修复prepare模式参数过多时数量判断不正确的问题。

修复执行alter table drop index时索引名带特殊字符引起删除失败的问题。

修复等值条件传递的过滤条件无法穿透聚合算子的问题。

修复主实例反复变配过程中,GMS连接池存在连接泄露风险的问题。

修复私有协议chunk encoder中特殊数据传输下,可能造成内存越界踩踏crash的问题。

修复包含'BIGINT SIGNED' 列定义的建表语句及解析语法报错问题。

发布日期:2023-06-13

大版本:V5.4.17

小版本:16865674

类别

说明

新增&优化

计算节点和存储节点新增参数GROUP_CONCAT_MAX_LEN

缺陷修复

修复create tableROW_FORMAT = x COLLATE y时解析出错的问题。

修复创建List分区表可能出现分区组元数据不正确的问题。

发布日期:2023-06-06

大版本:V5.4.17

小版本:16859297

类别

说明

新增&优化

支持审计日志内存化,优化审计日志采集流程。

SQL限流关键字匹配时,忽略关键词前后的反引号。

新增索引诊断功能,支持一键诊断低效索引,对应文档请参见索引诊断

优化OSSinformation_schema tables视图中collation字段的兼容性。

优化物理DDL被中断或取消后的行为。

缺陷修复

修复窗口函数中使用Avg函数,当输入列为double类型时,执行可能出错的问题。

修复pause ddl可能出现的暂停不了DDL的问题。

修复invisible indexshow create table时的显示问题和在invisible状态用force index时仍被优化器使用的问题。

修复baseline add/fix in查询无法使用SPM的问题。

修复ShowTopology无法排序的问题。

修复batch updateJDBC模式下rawstring参数转换的问题。

发布日期:2023-06-02

大版本:V5.4.16

小版本:16855897

类别

说明

缺陷修复

修复create table语句中包含global index可能导致建表失败的问题。

发布日期:2023-05-23

大版本:V5.4.16

小版本:16847200

类别

说明

新功能&优化

优化IN查询判断是否命中计划缓存(Plan Cache)的判断逻辑。

缺陷修复

修复AUTO模式数据库中,分区键IN查询生成的执行计划不正确的问题。

发布日期:2023-05-15

大版本:V5.4.16

小版本:16839433

类别

说明

新功能&优化

新增支持调整fetch lsn的线程池大小和超时时间。

优化server_id参数的配置方式,当对实例进行升级、变配、HA切换时server_id始终不变。

新增BASELINE HINT BIND语句,支持绑定DML的执行计划。

缺陷修复

修复injoin可能导致结果不正确的问题。

修复SQL访问INFORMATION_SCHEMAIN表达式参数数量变更触发的参数报错问题。

修复Prepare请求被统计到QPS中的问题。

修复date_formatCNDN上行为不一致的问题。

修复实例无流量时QPSTPS统计不正确的问题。

修复CN端对只读事务的TPS统计不正确的问题。

修复执行DDL SQL时因某个物理库下没有物理表导致CDC获取拓扑元数据时的NPE问题。

修复pause ddl可能出现的无法暂停ddl的问题。

修复LONG类型转定长CHAR类型时没有按照定长处理截断,导致路由不正确的问题。

修复batch updateJDBC模式下rawstring参数转换不正确的问题。

修复部分场景下优化器转化聚合函数时报错的问题。

修复等值join可能不按照hash join处理的问题。

发布日期:2023-05-09

大版本:V5.4.17

小版本:16835173

类别

说明

新功能&优化

新增支持对已绑定归档表的TTL表变更local partition规则。

新增支持生成列和函数索引的功能。

将秒级加字段(Instant Add Column)功能设置为默认开启。

新增支持隐藏和显示global index,对应文档请参见INVISIBLE INDEX

新增支持使用standby节点做backfill,降低对业务的影响。

新增支持key分区分裂指定新分区数目。

支持在AUTO模式数据库中执行alter table drop primary keyadd primary key

新增支持修改拆分键列类型。

新增归档表对部分DDL的支持。

优化New Sequence的功能与性能,对应文档请参见New Sequence

优化大结果集回包效率。

新增支持MySQL通信协议的deprecate EOF。

优化权限控制,仅支持高权限账号执行set global语句进行全局变量设置并生效。

新增递归CTE功能,对应文档请参见CTE

对于声明为balance_single_table=on的表组,支持在Rebalance时自动打散。

新增支持对带子分区的表进行热点分裂。

新增支持GB18030字符集,包括collation gb18030_chinese_ci和非默认collation gb18030_bin。

优化归档表中的DDL禁用逻辑。

缺陷修复

修复date_formatCNDN上行为不一致的问题。

修复explain physicaltp_local模式下显示错误的问题。

修复in查询列表中包含表达式或变量时结果不正确的问题。

修复部分场景下优化器转化聚合函数时报错的问题。

修复跨库查询提示表不存在问题。

修复alter table add CONSTRAINT UNIQUE key报错且无法回滚问题。

修复Show Create Table对字段名包含转义字符的字段显示不全的问题。

修复join条件中like子句匹配模板为列时报错的问题。

发布日期:2023-04-28

大版本:V5.4.16

小版本:16825599

类别

说明

新功能&优化

优化部分场景下 '<=>' 条件的join执行计划。

新增rename table支持同时给多张表重命名,详情请参见RENAME TABLE

新增支持计算层参数CN_GROUP_CONCAT_MAX_LEN,用于变更计算节点的group concat行为。

缺陷修复

修复innodb_lock_waits视图查询概率性报错的问题。

修复对存储层变量执行set global成功后,部分场景下同一个会话(session)中的其他查询会报错的问题。

修复数据迁移过程中,表存在大字段时数据迁移可能会失败的问题。

修复BKA join时优化器选错索引导致执行计划不优的问题。

修复ScaleOut时广播表执行Insert操作报NPE问题。

修复分区变更过程中,全表扫描失败问题。

修复子查询中apply参数不支持负数的问题。

修复简单Decimal类型求和小概率结果错误的问题。

修复指定DN分片执行sqlhint语句,在非下推场景下报错的问题。

修复对GSI表进行数据迁移时,有概率出现数据不一致导致迁移失败问题。

修复表名过长导致数据迁移失败问题。

修复表名、库名等不支持'-'的符号的问题。

修复window函数order by时报Sql could not be implemented错误的问题。

修复AES_DECRYPT的返回类型为binary。

修复多表关联场景下未按照指定join顺序(特指括弧)做关联查询的问题。

修复建表过程中变更New Sequence元数据失败导致建表失败的问题。

发布日期:2023-04-11

大版本:V5.4.16

小版本:16809623

类别

说明

新功能&优化

新增支持XA事务中,备库读场景的RC隔离级别。

优化TTL表修改过期时间的逻辑。

缺陷修复

修复Alter Table中多个Change Column操作间列名关联或多个Rename Index操作间索引名关联时,DDL任务失败的问题。

修复存储过程对于中划线的兼容性问题。

修复TSO事务中部分Agg查询报不存在主键错误的问题。

修复在TSO事务的备库一致性读场景中,存在读到不一致数据的问题。

修复RawStringDRDS模式数据库中的裁剪不生效问题。

修复统计信息TopN处理null值的NPE问题。

修复RawStringDynamicValues执行器中的值类型没有正确获取的问题。

修复私有协议下DDL物理分片执行时900秒超时的问题。

修复数据迁移过程中pause ddl然后continue可能导致DDL失败问题。

发布日期:2023-03-22

大版本:V5.4.16

小版本:16791337

类别

说明

新功能&优化

新增支持调整fetch lsn的线程池大小和超时时间。

优化索引推荐的逻辑,避免在缺失统计信息和索引列选择度低的情况下推荐索引。

缺陷修复

修复JDBC下数据迁移失败问题。

修复alter table add CONSTRAINT UNIQUE key报错且无法回滚问题。

修复关联子查询多层迭代时,找不到下层关联项的问题。

修复数据迁移过程中,可能因为冲突而降速的问题。

修复Show Create Table对包含转义字符的字段名显示不全的问题。

修复统计信息模块在大量表达式时消耗过多CPU的问题。

修复AUTO库单表打散后,单表JOIN下推误判导致执行报错的问题。

发布日期:2023-03-02

大版本:V5.4.16

小版本:16773973

类别

说明

新功能&优化

新增语法,支持在某一指定的DN分片上执行SQL语句。

完善LAST_INSERT_ID()函数语义,与MySQL保持一致。

新增开关,将库名、表名统一显示为小写,此开关默认关闭。

运维窗口配置起始时间允许晚于结束时间。

缺陷修复

修复物理SQL的耗费时长统计不正确,导致部分物理SQL被错误的记录为慢SQL的问题。

修复prepare模式下,batch insert导致CPU升高的问题。

修复执行alter table drop column可能无法访问该表的问题。

针对默认主键拆分表,将其全局二级索引的默认分区数由实例级别修改为表级别。

修复闪回查询在特殊情况下报错的问题。

修复私有协议在后端连接数不足时的报错信息。

修复varchar分区键在写入负数的情况下,隐式类型转换处理出错的问题。

修复AUTO模式下,在包含GSIBkaJoin执行过程中, Lookup Key推导出错的问题。

修复DRDS模式数据库扩容失败的问题。

修复TTLRENAME之后,TTL功能失效的问题。

修复删库删表时未清理plan cachebaseline中的执行计划的问题。

修复通过ALTER语句对全局二级索引的分区进行分裂时的权限报错问题。

修复DRDS模式数据库中多表join时,shardKey join shardKey判断时没有区分分库键和分表键,导致生成错误的执行计划的问题。

修复跨库analyze table权限校验失败的问题。

修复子查询(subquery)物化(materialize)执行模式估算子查询行数为500时,执行计划构建错误的问题。

修复归档表查询低概率卡死的问题。

修复create table likelocality支持不完善的问题。

禁止alter table convert to character set。

修复私有协议在CN高负载场景下小概率死锁,导致部分请求超时的问题。

修复私有协议探活可能延迟10分钟进而造成连接抖动的问题。

修复私有协议在传输大包时,可能出现探活任务错误终止连接的问题。

修复length函数错误解析Binary字符串作为参数的字节长度的问题。

JDBC协议修复偶发Query execution was interrupted异常报错问题。

发布日期:2023-03-02

大版本:V5.4.15

小版本:16774576

类别

说明

缺陷修复

修复AUTO模式数据库中,包含GSIBkaJoin执行过程中, Lookup Key推导出错的问题。

修复私有协议在后端连接数不足时的报错信息。

修复私有协议在CN高负载场景下小概率死锁,导致部分请求超时的问题。

修复归档表查询低概率卡死的问题。

修复私有协议在传输大包时,可能出现探活任务错误终止连接的问题。

修复DRDS模式下的多表join,shardKey join shardKey判断时没有区分分库键和分表键,导致生成错误的执行计划的问题。

修复TTLRENAME之后,TTL表失效的问题。

修复varchar类型的分区键在写入负数的情况下,隐式类型转换处理出错的问题。

修复子查询(subquery)物化(materialize)执行模式估算子查询行数为500时,执行计划构建错误的问题。

修复私有协议探活可能延迟10分钟进而造成连接抖动的问题。

禁止alter table convert to character set。

修复跨库analyze table权限校验失败的问题。

发布日期:2023-01-14

大版本:V5.4.15

小版本:16734908

类别

说明

缺陷修复

修复执行alter table drop column可能无法访问该表的问题。

针对默认主键拆分表,将其全局二级索引的默认分区数由实例级别修改为表级别。

完善LAST_INSERT_ID()函数语义,与MySQL保持一致。