更新时间:2024-07-25 GMT+08:00

8.3.0.x补丁新增功能及解决问题

8.3.0.108

表1 8.3.0.108新增功能/解决问题列表

类别

功能或问题描述

问题原因

问题出现版本

修复建议

新增功能

-

-

-

解决问题

copy并发入库出现锁超时报错

RecoverFromDelta放锁时错误使用加锁接口,导致锁未释放。

8.3.0.105

升级到8.3.0.108及以上版本

8.3.0.105

表2 8.3.0.105新增功能/解决问题列表

类别

功能或问题描述

问题原因

问题出现版本

修复建议

新增功能

-

-

-

解决问题

多count distinct走share scan出现结果集错误

sharescan计划生成时,CTE子查询误用了上层的等价类信息,造成分布列判断错误,生成计划缺少数据重分布算子

8.3.0.105以前版本

升级到8.3.0.105及以上版本

升级到830版本后系统表autovacuum未生效

升级830前做过容灾迁移,容灾迁移会先设置autovacuum_max_workers 为0,再修改成原来的默认值3,导致升级后未将该值设为预期的值6

8.3.0.105以前版本

修复UDF在recv接收数据时,可能存在超时后error为EAGAIN但没有被捕获直接报错的问题

当cn_retry开启时,socket recv 20s超时后,EAGAIN的错误码没有被捕获,直接走到报错逻辑

8.3.0.105以前版本

8.3.0.103

表3 8.3.0.103新增功能/解决问题列表

类别

功能或问题描述

问题原因

问题出现版本

修复建议

新增功能

json/jsonb支持向量化。

-

-

-

解决问题

使用ORC外表场景偶发产生core问题。

ORC外表foreign scan查询条件下推,在查询约束条件为bool类型表达式判断,且在表达式中存在隐式转换,且为is null条件时,偶现内部类型转换异常,内存越界(RelabelType强转var)。

8.3.0.103以前版本

升级到8.3.0.103及以上版本

执行1000w batch upsert并发冲突更新场景时出现cstore buffer报错。

cstore buffers的缓存淘汰机制为clock swaap,当前clock swaap最多为三秒三圈,因此存在无法淘汰大量使用CU(Usage Count > 3),从而出现内存可用,但报cstore buffer过小的错误。

8.3.0.103以前版本

实时入库场景下,入库性能长稳,但是任务停止后delta表的空间一直不释放。

hstore opt表的delete记录可能残留,导致空间一直无法释放。

8.3.0.103以前版本

8.3.0.101

表4 8.3.0.101新增功能/解决问题列表

类别

功能或问题描述

问题原因

问题出现版本

修复建议

新增功能

vacuum full适配binlog表。

-

-

-

解决问题

analyze语句报错Could not open file "pg_clog/000000000075"

列存表进行vacuumfull后可能提前回收clog,导致主备切换后进行analyze时无法访问clog文件。

8.3.0.100

升级到8.3.0.101及以上版本

使用\parallel on 高并发下创建job报错duplicate key value violates unique constraint "pg_jobs_id_index" ,Key(job_id)=() already exists。

获取job_id处的锁未成功加上,导致并发时取到相同job_id报错。

8.3.0.100

多个nodegroup场景下,重分布不支持跳过指定表,导致缩容失败。

重分布不支持跳过指定表。

8.3.0.100

执行Hstore用例,网卡故障时,因为内存为超大负数,导致用例执行失败。

临时变量声明后,未赋值导致参数值非预期,后续再去扣减内存,内存出现超大负数。

8.3.0.100