8.3.0.x补丁新增功能及解决问题
8.3.0.110
类别 |
功能或问题描述 |
问题原因 |
问题出现版本 |
修复建议 |
---|---|---|---|---|
新增功能 |
新安装集群默认打开全局死锁检测功能,之前版本默认没有打开。 |
- |
- |
- |
解决问题 |
当一个常用表达式(Common Table Expressions,简称CTE)仅被另一个CTE引用多次时可能触发空指针访问导致故障。 |
当一个CTE仅被另一个CTE引用多次时,计划递归遍历逻辑错误导致访问空指针,产生集群故障。 |
8.3.0.101 |
升级到8.3.0.110及以上版本 |
列存表查询语句中出现多结果集函数时,执行该语句会报错Set-returning function is not supported in vector engine。 |
非表的scan算子上的向量化执行引擎不支持多结果集函数。 |
8.3.0.101 |
||
集群低版本升级到8.3.0版本时,线程池功能失效。 |
集群低版本升级到8.3.0时,需要根据当前硬件配置设置max_stream_pool,因为默认单位识别异常,导致max_stream_pool被设置为0。 |
8.3.0.101 |
||
使用parquet外表查询报错The parameter destMax is too small or parameter count is larger than macro parameter。 |
parquet外表的string类型字段的缓冲区空间管理错位,导致大于1K的字段内存分配不够,引起业务报错。 |
8.3.0.101 |
||
正在数据重分布的冷热表进行分区交换操作时报错Multi-temperature table only support column partition table。 |
重分布过程中创建的临时表引用了原表的冷热表属性,导致临时表创建失败。 |
8.3.0.101 |
8.3.0.108
类别 |
功能或问题描述 |
问题原因 |
问题出现版本 |
修复建议 |
---|---|---|---|---|
新增功能 |
无 |
- |
- |
- |
解决问题 |
copy并发入库出现锁超时报错 |
RecoverFromDelta放锁时错误使用加锁接口,导致锁未释放。 |
8.3.0.105 |
升级到8.3.0.108及以上版本 |
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
类别 |
功能或问题描述 |
问题原因 |
问题出现版本 |
修复建议 |
---|---|---|---|---|
新增功能 |
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
类别 |
功能或问题描述 |
问题原因 |
问题出现版本 |
修复建议 |
---|---|---|---|---|
新增功能 |
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 |