2022年计算节点发布说明

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

发布日期:2022-12-27

大版本:V5.4.16

小版本:16717637

类别

说明

新功能&优化

新增支持create database like/as语句,该语句支持一键迁移DRDS模式数据库至AUTO模式数据库。对应文档请参见DRDS模式数据库转换为AUTO模式数据库

新增OSS回填支持多机并行迁移的功能。

新增支持自定义函数。

新增Rebalance分区均衡策略,在扩缩容数据重分布时默认开启。

新增支持以下分区函数:substr,dayofmonth,dayofweek,dayofyear,to_months,to_weeks。

CHECK TABLE语句新增支持Local索引校验。

JDBC连接串中增加useCursorFetch=true参数,该参数支持将查询结果先缓存在服务器上,客户端每次取几条,而不是一次性将所有查询结果返回给客户端。

优化大量or查询场景下优化器的内存消耗。

优化数据迁移过程中的稳定性,减少对业务的影响。

优化数据迁移效率。

分区表的VARCHAR、CHAR类型新增支持substr、substring作为分区函数。

缺陷修复

修复TableScanExec在某些MergeSort场景下偶发的异常早停问题。

修复主表存在GSI时,无法对主表进行重命名的问题。

减少AUTO模式数据库中,全局二级索引上冗余的局部索引。

修复window函数在MPP模式下执行报错的问题。

修复year函数中当输入类型为tinyint时计算不正确的问题和join条件中比较类型不正确的问题。

修复AES加解密函数返回结果不符合预期的问题。

发布日期:2022-12-23

大版本:V5.4.15

小版本:16715927

类别

说明

新功能&优化

AUTO模式数据库中分区键新增支持BinaryVarBinary类型。

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

缺陷修复

修复表中含有JSON类型列时,执行REPLACE、UPSERT命令时报错的问题。

修复found_rows函数在存储过程中计算结果不正确的问题。

修复列名大写时,统计信息中topN丢失的问题。

修复执行Alter Table命令重建复合主键并删除部分主键列时,DDL任务可能失败且无法继续或回滚的问题。

修复json_extract函数提取不存在的属性时,错误地返回了字符串"NULL"的问题。

发布日期:2022-12-13

大版本:V5.4.15

小版本:16704996

类别

说明

新功能&优化

优化解析SQL报错时产生的错误信息与日志。

新增partition hint功能,满足客户针对单一分片的跑批场景。

新增支持高权限用户kill其他连接。

缺陷修复

选择GSI时,如果拆分键非主键,生成拆分键的等值条件中=会变成<=>。修复<=>导致BKA join时无法构造包含拆分键的in查询,使得分片裁剪失效而采用全分片扫描的问题。

修复特定情况下UPSERT没有更新CURRENT_TIMESTAMP的问题。

修复带GSI的部分Semi-join场景产生报错的问题。

修复部分DAL语句(show tables、show topology from、analyze table)对应表级别权限不正确的问题。

修复set password语句当host为空时语法报错的问题。

修复RawString收到null值时的NPE问题。

修复alter table remove partitioning在主键和拆分键相同时失败的问题。

修复数据迁移过程中,可能因为非预期主键冲突而降低数据迁移速度的问题。

修复大规模DN节点同时HA时有概率卡顿并失效的问题。

修复聚合函数sum执行时的decimal数值处理问题。

修复ENABLE_BACKGROUND_STATISTIC_COLLECTION配置对统计信息sample不生效的问题。

修复执行show full columns时暴露隐式主键导致sharding jdbc访问失败的问题。

发布日期:2022-11-27

大版本:V5.4.15

小版本:16694249

类别

说明

新功能&优化

优化事务中超时后的私有协议报错信息。

缺陷修复

修复网络环境较差时,私有协议网络协议层非预期断开的问题。

修复MPP查询模式在只读实例上易出现反序列化失败的问题。

修复SQL_SELECT_LIMIT设置为default时报错的问题。

发布日期:2022-11-21

大版本:V5.4.15

小版本:16687348

类别

说明

新功能&优化

优化TSO事务下带AGG函数的查询逻辑。

优化alter table解析错误的信息提示。

优化全局索引的选择逻辑,降低全局索引的选择倾向性。

创建表和变更表时禁止生成列(Generated Columns)。

优化JDBC模式下maptolist的性能。

优化rowcount采集的速度,提高analyze table及定时任务STATISTIC_ROWCOUNT_COLLECTION的效率。

缺陷修复

修复包含GSI的表上无法通过JDBC更新主键为”0000-00-00 00:00:00“值的数据行的问题。

修复统计信息定时任务sample table没有sync的问题。

修复过期逻辑判断bug导致sample任务无法发起的问题。

发布日期:2022-11-02

大版本:V5.4.15

小版本:16668369

类别

说明

新功能&优化

在读写分离场景中,支持以Grouping方式获取LSN日志位点。

缺陷修复

修复uuiduuid_short函数仅计算一次的问题。

修复在一些超时或中断场景下,DDL引擎误判物理分片完成状态,导致非预期报错或遗留DDL任务的问题。

修复pruning导致占用过多CPU的问题。

修复执行analyze table语句时,基于不准确的rowcount sample table导致计算节点内存超载的问题。

修复spm params高并发下的清理问题。

修复SQL_SELECT_LIMIT下发至存储节点引发的AGG函数正确性问题。

修复统计信息在某表没有条件访问时,主动analyze没有处理索引ndv的问题。

修复rename之后找不到物理表的问题(仅针对AUTO模式数据库下没有物理表随机后缀的逻辑表) 。

发布日期:2022-10-19

大版本:V5.4.15

小版本:16660526

类别

说明

新功能&优化

支持查看归档表占用空间。

支持在绑定归档表的情况下对原表进行move partition。

创建账户默认密码限制策略兼容RDS MySQL。

优化默认主键拆分表建立时间列索引的逻辑,不再默认建立全局二级索引。

优化私有协议探活流程,减少因为无法创建会话导致连接被kill的情况。

缺陷修复

修复DRDS模式数据库中通过ALTER TABLE变更单表的列AUTO_INCREMENT属性时,自动关联Sequence的问题。

修复UPSERTUpdate list顺序与表定义不同时,类型匹配报错的问题。

修复Kill Connection失败时没有任何报错的问题。

修复prepare模式下,多次查询information_schema权限校验失败的错误。

修复分布式事务恢复、悬挂事务过多且DN会话打满时可能导致DN死锁的问题。

发布日期:2022-09-30

大版本:V5.4.15

小版本:16642369

类别

说明

新功能&优化

新增information_schema权限系统表兼容MySQL。

缺陷修复

修复information_schema的部分视图查询报错的问题。

修复load data语句指定字符集时不加引号报错的问题。

修复mock模式不支持insert on duplicate key update的问题。

修复unique global index在创建或者数据迁移过程中,可能出现与主表数据不一致的问题。

修复分区键单点查询有概率因Auto模式数据库写并行导致查询结果不正确的问题。

发布日期:2022-09-20

大版本:V5.4.15

小版本:16635539

类别

说明

新功能&优化

新增支持分区自动分裂。

新增Auto-Split运维功能。

新增支持存储过程,对应文档请参见存储过程

新增支持表级别的分区表变更,对应文档请参见变更表级分区(AUTO模式)

新增支持kill connection语法。

新增内核权限,支持密码复杂度、有效期的配置和检测。

AUTO模式数据库分区表新增支持BKA-Join In值裁剪。

支持用户的登入登出审计功能(默认关闭)。

新增支持在线修改列类型,对应文档请参见无锁变更列类型

新增支持统计信息FEEDBACK时发起sample。

分区热力图兼容分区自动分裂功能。

Plan Cache的默认大小由2000调整为4000,统计信息feedback由默认开启调整为默认关闭。

优化创建全局二级索引、扩缩容、分区变更等操作时数据迁移的速度。

优化新分区表DML类型比较逻辑。

优化一些条件下的UPSERT性能。

优化set global变量的设置逻辑,减少开销。

缺陷修复

修复to_base64解析binary变量不正确的问题。

修复窗口函数在某些场景的非预期下推行为。

修复私有协议传递执行计划时,EXPLAIN EXECUTE结果与实际索引不同的问题。

修复不可下推函数在某些场合下的非预期下推问题。

修复没有带host的用户创建语句报错的问题。

修复非下推JSON_QUOTE函数的转义字符问题。

修复MDL锁获取过程中的NPE问题。

修复HashGroupJoin算子存在数组越界的问题。

修复AES加密函数返回结果不符合预期的问题。

修复分区选择在覆盖索引查询时返回错误结果的问题。

修复归档表in查询无法裁剪文件的问题。

修复某些情况下window函数计算错误的问题。

修复DRDS模式数据库中拆分键变更对表名大小写敏感的问题。

修复AUTO模式数据库全表扫描时deplay init的问题。

发布日期:2022-09-02

大版本:V5.4.14

小版本:16619918

类别

说明

缺陷修复

修复下推的单表中,UPDATE命令中子查询的表名没有被正确替换的问题。

修复UPDATE命令中的多表NPE问题。

修复JSON操作符->在表达式中的解析问题。

修复部分子查询中APPLY执行过程Context未传递导致的报错问题。

修复对于yyyyweek跨年周闭区间范围查询分片缺失问题。

发布日期:2022-08-15

大版本:V5.4.14

小版本:16601976

类别

说明

缺陷修复

修复读写分离在只读事务下未生效的问题。

修复DTS同步乱码问题。

修复auto savepoint功能可能将用户设置的savepoint释放的问题。

修复rebalance任务更新系统表的SQL错误的问题。

修复JDBC模式下参数冗余处理给私有协议模式带来的CPU消耗过高的问题。

修复SPM默认关闭的问题。

修复执行UPDATE语句时BINARY类型处理不正确的问题。

发布日期:2022-08-01

大版本:V5.4.14

小版本:16590002

类别

说明

新功能&优化

新增支持冷数据归档功能,对应文档请参见冷数据归档语法

支持ALTER TABLE PARTITIONS语句,可使用该语句一键修改主表以及全局二级索引表的分区数(仅限于AUTO模式数据库下的默认主键拆分表使用) 。

支持用户自定义变量设置为表达式。

新增分区表支持对含Scalar子查询的拆分条件,进行动态分区裁剪。

支持暂停TTL表的定时任务。

支持List分区表default分区。

Optimize table使用新DDL引擎实现。

文本Prepare模式下支持使用自定义变量。

优化默认主键拆分的表删除默认生成的local index时的报错信息。

优化AUTO库物理分区的读写并行度及其读写性能。

缺陷修复

修复List分区使用month分区函数查询结果不正确的问题。

修复子查询消除时的并发安全问题。

修复CDC启动时执行DDL失败的问题。

修复AUTO模式数据库下alter table remove partitioning逻辑,不再用于将表转为单表,而是用于将分区表转为默认主键拆分表。

修复PolarDB-X对于Navicat主键元信息的兼容性。

修复show status视图返回空的问题。

修复AUTO模式数据库下Insert语句ExplainOptimizerNPE的问题。

修复AUTO模式数据库下广播表与单表Join下推时,选错物理库导致执行报错的问题。

发布日期:2022-07-14

大版本:V5.4.14

小版本:16576195

类别

说明

缺陷修复

修复IN表达式裁剪引起的事务中报错及潜在的正确性问题。

修复执行DROP CLUSTERED GSI失败问题,对非默认主键的拆分表添加GSI时,不再自动给已有CLUSTERED GSI添加LOCAL INDEX。

修复使用month分区函数时区间范围查询结果不正确的问题。

修复带LOCAL FULLTEXT KEY的表无法truncate的问题。

发布日期:2022-06-28

大版本:V5.4.14

小版本:16563827

类别

说明

新功能&优化

私有协议探活超时时间可调整。

缺陷修复

修复alter table modify after失败的问题。

修复8.0驱动下同时开启cachePrepStmtsuseServerPrepStmts时的兼容性问题。

修复设置事务策略到BED的问题,best effort事务策略在PolarDB-X 2.0中不再支持。

修复使用常量表达式作为分区键时,缺少语法校验并导致建表失败的问题。

修复同一个会话中使用Current timestamp时,值不会变化的问题。

修复会话管理界面的业务SQL与私有协议内部逻辑冲突导致查询卡慢的问题。

发布日期:2022-06-21

大版本:V5.4.14

小版本:16556932

类别

说明

缺陷修复

修复ALTER TABLE将列名改为特殊字符时,元数据处理失败的问题。

修复sum(bigint unsigned)的返回类型问题。

发布日期:2022-06-09

大版本:V5.4.14

小版本:16547447

类别

说明

新功能&优化

优化Scan算子在流式归并排序过程中的内存使用。

缺陷修复

修复MPP执行模式下Outer JoinBroadcast Shuffle选择问题。

修复AUTO模式数据库中单表无法下推的问题。

修复Prepare模式下,IN语句转Subquery时,优化器报错的问题。

修复union distinct查询在MPP执行模式下查询结果不正确的问题。

修复只读实例中Sequence初始化失败上报NPE的问题。

修复SQL限流匹配表名时带反引号,无法匹配表名的问题。

修复shardingadvisor whatif阶段产生的NPE问题。

发布日期:2022-06-02

大版本:V5.4.14

小版本:16539836

类别

说明

新功能&优化

新增支持全局唯一、单调递增、高性能的New Sequence,对应文档请参见New Sequence(NEW)

新增支持在AUTO模式下创建数据库、表组、表、分区时指定locality属性,支持动态修改表组和分区组的Locality,对应文档请参见通过LOCALITY指定存储位置(AUTO模式)

优化默认自动分区的表进行分区变更的逻辑,对默认自动分区的表执行ALTER PARTITION语句转分区表时,会将GSI转换成Local Index。

优化创建GSI或分区变更过程中,数据回填时找不到对应分区的报错信息。

新增shardingadvise语法针对当前库的workload进行表的拆分方式推荐。

默认打开set global的变量开关。

新增分区热力图功能,对应文档请参见分区热力图

新增tablegroup mdl,解决tables sync容易产生mdl死锁的问题。

新增事务中失败的DML语句自动回滚的功能,并且不影响后续语句的执行。

优化IN动态参数场景的内存模型。

支持Insert Overwrite语法。

支持新分区表的建表语句中使用hex string。

新增支持将分区方式相同的多个表组合并到一个merge tablegroups,将分区相同的表批量加入到目标表组。对应文档请参见变更表组级分区(AUTO模式)表组合并(AUTO模式)

死锁检测兼容MySQL 8.0。

支持服务端的游标cursor。

支持直接通过GSI的逻辑名设置表组,例如alter table t1.g1 set tablegroup=#tg

支持同时查询主表和二级索引表再回表。

优化insert、update、deleteselect语句的执行性能。

IN表达式的请求不会再产生过多执行计划,减少对内存及PlanCache的压力。

优化权限校验流程。

解除用户表不能与系统表同名的限制。

优化DDL执行逻辑,当某个DDL任务正在执行时,不再向执行队列中塞入该任务。

新增DDL任务历史数据归档。

新增支持STATEMENTS_SUMMARYSTATEMENTS_SUMMARY_HISTORY元数据库表,详细内容请参见元数据库和数据字典

缺陷修复

修复物理SQLHaving别名语法不正确的问题。

修复当日志复制线程中断时,读写分离场景中只读流量无法切回主库的问题。

修复SQL限流重新调度执行时(wait_queue_size大于0,语句从等待队列出来执行),出错未返回错误给客户端,导致客户端阻塞的问题。

修复统计信息收集hll时间时未控制到分表的问题。

升级jetty 205版本,规避MPP RPC过程中由于jetty低版本问题导致的堆外内存泄露问题。

修复DDL任务执行过程中,记录物理DDL状态时可能发生的Lock wait timeout问题。

修复非utf8编码的连接上私有协议传递字符串编码错误的问题。

修复trace ddl后,可能出现show ddl为空或者不完整的情况。

修复SHOW RULE命令不兼容新分区表的问题。

修复加列同时创建索引后缺失索引元数据的问题。

修复Rename TableAlter Table变更列后统计信息被清除的问题。

修复Comparative对象变更导致计划污染问题。

修复show columnsdesc结果列头全大写的问题。

修复AUTO库下全局唯一索引丢失主键信息的问题。

修复CDC打标信息中表名不一致的问题。

修复AUTO模式数据库中ignore indexGSI相关的索引被错误下推的问题。

发布日期:2022-05-16

大版本:V5.4.13

小版本:16526725

类别

说明

新功能&优化

优化私有协议后端连接产生致命错误时的报错信息。

优化使用KILL ALL语句杀死所有后端连接时,无论是否有请求在执行。

缺陷修复

修复IndexAdvisor修改表元信息时,导致表不可用的问题。

修复GSI UPDATE时可能数据造成不一致的问题。

修复UGSI隐式主键和拆分键重复时候被错误去重的问题。

发布日期:2022-04-21

大版本:V5.4.13

小版本:16504348

类别

说明

缺陷修复

修复拆分规则变更和分区规则变更时,DDL语法报错不友好的问题。

修复INSTANT ADD COLUMN之后下推INSERT列序错乱的问题。

修复Truncate Table With RecycleBin场景下CDC打标拓扑信息错误的问题。

发布日期:2022-04-15

大版本:V5.4.13

小版本:16499071

类别

说明

新功能&优化

当发生OOM的时候,自动重启CN。

缺陷修复

修复在数据量大且数据cardinality低情况下,BKA关联查询中多次迭代会出现查询偶尔不一致的问题。

修复私有协议传递执行计划时,索引点查超字段长度截断,导致返回结果错误的问题。

修复不等号条件可能导致查询结果不正确的问题。

发布日期:2022-04-08

大版本:V5.4.13

小版本:16493698

类别

说明

缺陷修复

修复information_schema.processlist采集到只读实例会话的问题。

发布日期:2022-04-02

大版本:V5.4.13

小版本:16487873

类别

说明

新增

完善并优化对binary编码的支持。

新增Hint,允许物理DDL部分失败时人工介入。

优化PolarDB-X的分布式死锁检测逻辑。

CLEAR SLOWSchema级别调整为实例级别。

分区表SHOW拓扑增加显示DN与物理库信息。

优化分布式事务全局时间戳获取,采用更短的超时策略和更多重试。

缺陷修复

修复分区表Show Create Table纯数字分区名没带反引号导致建表语法报错的问题。

修复控制台授权操作报错的问题。

修复缩容过程中DN节点的HA探测可能hung的问题。

修复私有协议出现小概率并发修改session变量,导致查询报错的问题。

修复分区表LookupJoin因重复生成裁剪计划可能会导致的性能问题。

修复分区表Partition Selection语法不支持DML语句的问题。

发布日期:2022-03-14

大版本:V5.4.13

小版本:16462728

类别

说明

新增

支持创建不定义主键但定义了全局二级索引的表。

缺陷修复

修复私有协议在后端连接中断时可能触发小概率死锁的问题。

修复私有协议在没有数据返回时,可能小概率丢失通知前端请求返回的问题。

修复hll非索引列问题。

修复DDL任务过大,超过16MB,导致提交失败的问题。

修复character setcollate定义中反引号处理的问题。

修复新拆分库中全局唯一索引复合唯一约束顺序可能错乱的问题。

MPP执行模式下,支持在分区裁剪为空场景下执行报错的问题。

修复查询Schemata导致MetaDB连接泄露的问题。

发布日期:2022-01-07

大版本:V5.4.13

小版本:16415631

类别

说明

新增

支持创建数据库时指定建表的模式(新的分区表模式与老的分库分表模式),默认为分库分表模式,具体语法请参见CREATE DATABASE

支持使用MySQL分区表语法创建一级分区的分区表,分区策略包括Hash/Range/List等,详细内容请参见分区表

支持分区表的动态裁剪能力,包括支持分区列条件的常量折叠、区间合并以及前缀查询裁剪等功能。

支持分区表的JOIN计算下推。

提供分区表的分区管理能力,包括分区的添加、删除、分裂、合并与迁移等功能,详细内容请参见变更表组级分区(AUTO模式)

提供表组及其管理能力(包括表组的创建、删除、变更等),支持分区变更期间JOIN计算下推不受影响,详细内容请参见变更表组级分区(AUTO模式)

支持全局索引表使用MySQL分区表语法并按Hash/Range/List等分区策略进行分区,详细内容请参见CREATE INDEX(AUTO模式语法)

自动拆分支持使用分区表语法,详细内容请参见DRDS模式下的主键拆分

拆分变更增加支持分区表,详细内容请参见AUTO模式下的主键拆分

新分区表GSI自动拆分会携带主键,可以处理GSI热点问题。

支持实例的扩容与缩容。

支持分区表的TTL及其管理能力(包括调整TTL的初始时间与时间间隔等),详细内容请参见什么是TTL功能

SQL Advisor支持推荐广播表。

支持Instant Add Column功能。

支持Explain Statistics拉取优化器优化需要的所有信息。

支持使用SHOW [GLOBAL|LOCAL] DEADLOCKS查看最近一次死锁信息。

限制cbo的搜索空间,减少复杂查询的优化耗时。

优化

优化Check Table指令,支持校验主表分区、索引表分区与列定义等元数据的一致性。

优化部分DDL后台操作的数据校验任务的性能,使GSI/扩缩容DDL变更操作加速。

缺陷修复

修复heuristic join reorder的空指针和排序报错的问题。

修复AccessPathRule导致的RelNode rowtype错误的问题。

修复当collateutf8mb4_0900_ai_ci时,创建GSI导致数据不一致的问题。

修复最大登录次数无法生效的问题。

修复某些blockestimateSize不准确的问题。

修复私有协议下Deciaml精度缺失的问题。

修复私有协议下执行计划传输bytechar类型对比报错的问题。

修复Alter Table Add/Drop Primary Key后索引元数据缺失的问题。

修复Alter Table期间外部中断或物理分片超时导致的表结构不一致问题。

修复Drop index所有物理分片都失败时不自动回滚的问题。