本文将为您介绍Hologres各版本相关缺陷的修复记录,包括问题描述、影响程度等。您可以通过报错或问题描述,检查您当前的业务中是否产生了相关问题,提前进行问题规避。建议加入实时数仓Hologres交流群联系对应技术支持协助您将产品升级到最新版本,详情请参见如何获取更多的在线支持?。
背景信息
-
缺陷及修复说明
-
缺陷内容向下穿透:当前版本存在的缺陷,在之前的版本中均存在。
例如,V1.3版本中存在某缺陷,在V1.1或V0.10等版本中大多数存在,少数不存在场景有明确标注。
-
缺陷修复向上包含:当前版本修复后的缺陷,在之后的版本中均已修复。
例如,V1.1版本中已修复的某缺陷,在V1.1或V1.3等版本中均已修复。
-
-
缺陷等级说明
-
P0:建议立即升级,一旦触发会影响线上的使用(如查询正确性、写入成功率等操作)。
-
P1:推荐升级,提前规避相关问题。
-
P2:选择性升级,偶尔发生的问题,具备应该改写方法,或重启即可修复。
-
2026年缺陷
2026年3月
|
严重等级 |
报错/问题描述 |
缺陷原因 |
出现版本 |
修复版本 |
规避建议 |
|
P1 |
全文倒排索引的短语检索模式时,如果设置slot参数大于255,检索结果可能不正确。 |
全文倒排索引针对slot大于255时的匹配逻辑存在缺陷。 |
V4.0.1 |
V4.1.9 |
|
|
P2 |
动态表incremental刷新模式下,Volatile函数下接Agg且Volatile不在最后一列时,刷新失败。报错:
|
distribution key list被带到内层查询,但distribution key list对应的是最终output column,与内层列无法对应。 |
V3.1 |
|
|
|
P2 |
加载Table Group到计算组时,FE可能获取不全SE shard location信息,导致FixedFE写入失败,影响时长约1秒。 |
函数 |
V1.1 |
|
|
|
P2 |
当array列变长类型超过64MB时进行攒批,报错 |
mutable array只reserve了一行,但append进来的array超过1行;当text列超过64MB时,builder大小被reserve成一行,没有考虑到最小值。 |
V4.0 |
|
|
|
P2 |
用户执行SQL时阿里云账号名不能自动转换为ID,如 |
|
|
V3.0.53 |
|
|
P2 |
批量copy处理时共享内存可能写满,报错 |
copy批量模式将客户端数据按行数攒批写入共享内存,用户作业单条数据较大(每批约600MB),多连接同时写入时可能将共享内存用满,导致后续数据写入失败或读取侧因溢出读取到非法值导致进程崩溃。 |
V1.1 |
|
|
|
P2 |
Parquet读数组列时,因page index跳页导致报错。打开page index(默认打开),SQL读数组列且有谓词下推到parquet reader并因此有任意列的任意页被过滤时可能触发。 |
page index跳页逻辑与数组列读取存在兼容性问题,当谓词过滤导致页跳过时,数组列的读取状态未能正确同步。 |
V3.1 |
|
|
|
P2 |
Fixed plan模式下,INSERT ON CONFLICT语句中WHERE条件为常量时结果不正确。执行 |
当WHERE条件为常量表达式时,未能正确进行条件改写,导致符合条件的数据无法写入。 |
V4.0 |
|
|
|
P2 |
Parquet reader无法处理空row group,读到包含0行的row group时报错,错误信息被抛回用户侧。Hologres V3.1及以上版本可能表现为coredump,栈中包含 |
reader内部假设row group中一定包含数据(非0行),在处理空row group时,解析数据页返回eof时被忽略,导致错误处理逻辑被触发。 |
V3.0 |
|
|
|
P0 |
bulkload提交空文件导致flush失败。bulkload提交了一个file size为0的文件,导致后续的flush打开这个文件读meta时失败。 |
bulkload触发deletion compaction时,被pick的文件中所有行都被标记删除,产生空文件。 |
V3.1 |
|
|
|
P2 |
二级索引包含bool类型时,Fixed plan写入报错。创建global index并insert时报错: |
fixed dispatcher不支持bool类型在二级索引中的写入。 |
V4.0.0 |
|
|
|
P2 |
Holo FDW跨实例查询失败。升级4.0后使用外表查询时报错: |
FDW加载缓存的shard location值时失败。 |
V4.0.6 |
|
|
|
P2 |
从脱敏表写入数据到含自增列的目标表时出现非预期行为。在Hologres V4.0及以前版本,从脱敏表写入到另一个表时,如果目标表存在自增列,会出现coredump或报错行为异常。 |
代码假设parsetree->targetList和rte_insert->insertedCols一一对应,但当目标表含有自增列时假设不成立。parsetree->targetList包含自增列和用户明确写入的列,而rte_insert->insertedCols只包含用户明确写入的列。 |
V3.1 |
|
|
|
P2 |
Array Ref接口线程不安全导致coredump。从Hologres V2.2开始,worker级别shuffle和QE v2的shuffle逻辑中,多线程访问array->type时可能出现coredump,array的type字段变为非法值。 |
ArrayRef的获取type接口虽标记为const,但使用mutable关键字使成员变量type_可改。多线程同时获取type时可能破坏type_的control block,导致线程安全问题。 |
V3.1 |
|
|
|
P2 |
已创建的Dynamic table执行alter definition加列时报错。base表为物理分区表、DT为逻辑分区表时,对DT执行alter definition报错: |
create流程中已关闭GUC忽略QO分区数检查,但alter definition流程未同步该逻辑。 |
V3.1 |
|
|
|
P2 |
创建External Dynamic table时报主键重复错误。当External DT的select query中join或union多个相同表时,生成的base table list包含重复项,插入系统表时报错: |
dt和external dt都存在该问题。dt的系统表没有主键所以插入重复记录未报错,但external dt的系统表有主键约束,不允许插入重复记录。 |
V4.0 |
V4.0.13 |
|
|
P2 |
char(n)类型数据执行聚合查询时报错。开启AQE后执行 |
ORCA中对于输出结果为char类型的agg未推导type_modifier字段,导致agg结果的char类型type_modifier被置为-5(即4294967291)。开启AQE时尝试创建char(4294967291)类型字段,超出长度限制导致报错。 |
V3.1 |
|
|
|
P2 |
view中包含无别名子查询时,snapshot SQL执行失败。在view的select语句中使用了subquery alias optional功能(子查询未指定别名)后,执行 |
pg从view rule中推导view definition sql时未强制给subquery指定别名。当用户的view中subquery alias未指定别名时,推导出的view definition sql也没有给subquery指定名字,但target list中却指定了名字,导致sql解析失败。 |
V4.0 |
|
|
|
P1 |
Paimon DV表按PK group后出现重复记录。当Parquet文件中存在物理格式为FIXED_LEN_BYTE_ARRAY、逻辑格式为decimal且编码格式为plain的page,读取该列的record batch跨越页边界时,仅该record batch中页边界之后的数据会被错误放置于record batch开始处。 |
Parquet decoder放置数据时未加上偏移量,导致record batch跨越页边界时数据位置错误。 |
V3.1.0 |
|
|
|
P2 |
MC表切换成Common Table链路后,Auto Analyze获取不到表最新的last modified time信息。用户升级到Hologres V3.0.51后,查询外表时从普通链路改成Common Table链路后,OOM报错仍然存在。MC表三层模型情况下,common table链路获取的response中schema name会变成default而非Holo的project_name,导致Auto Analyze批量获取外表的last modified timestamp失败,外表收集不到变化信息。 |
common table链路与holo_native在三层模型处理上未对齐。fetcher->GetTables接口在三层模型情况下,holo_native返回的schema_name仍是project_name,但common table返回的schema_name会变成default,导致数据无法回填。 |
V3.0 |
|
|
|
P2 |
Hologres使用CommonTable查询MC数据的时候, |
|
V3.0 |
|
|
|
P1 |
Union all在hash join的probe侧,第一个孩子中hash join生成的runtime filter被推到第二个孩子中,导致查询结果数据缺失。 |
Runtime filter经过映射下推到union all的第二个孩子过程中,合并了第一个孩子中的RF,导致错误下推。 |
V3.1 |
|
|
|
P2 |
曾经rename过或alter schema过的dynamic table,升级到Hologres V4.0.7及以上版本,无法自动刷新。报错: |
dynamic table需要在driver中定期从FE获取最新properties。代码从table driver转移到driver master时,漏掉了同步最新table name和schema name的代码,导致升级后使用首次创建时的名称无法刷新。 |
V4.0.7 |
|
|
|
P2 |
CTAS(Create Table As Select)在createstmt阶段执行QO优化时,存在影响性能的优化步骤。 |
CTAS语句在createstmt阶段走QO优化时,部分优化步骤不必要地影响了性能。 |
V4.0 |
|
|
|
P1 |
增量刷新的动态表使用ANY_VALUE函数聚合时计算结果不正确。基表字段只有一个值,但查询DT表出现多个值。 |
FinalizeStateRows时错误将result_array的生成放在循环体里面,该bug未CP到3.2版本。 |
V3.2 |
V3.2.24 |
|
|
P2 |
查询外表时,从普通链路改成Common Table链路后,OOM报错增多。报错: |
Common Table链路在Auto Analyze收集时权限有变化,系统无法获取表的last modified time,导致auto-analyze无法触发,统计信息未及时更新引发OOM。 |
|
|
|
|
P2 |
Dynamic table refresh同时打开多行事务时,走Serverless报错。 |
Patch将TG不存在的报错提前到FE检查,但未考虑Serverless特殊情况。在Follower计算组上执行无法自动路由的Serverless DML时会触发。 |
V4.0 |
|
|
|
P2 |
Query OOM(内存溢出)。 |
shuffle的ec优先级被改低,导致CPU较满时抢不到时间片,build端获取数据较慢,runtime filter构建延迟,probe端读取过多数据导致RF过滤效率降低。 |
V4.0.x之后 |
|
|
|
P1 |
部分登录审计日志中client_addr字段为空。 |
Gateway汇报登录审计日志时额外调用getpeername获取客户端IP,若此时客户端连接已异常断开则无法获取。 |
支持登录审计日志的所有版本 |
V4.0.13 |
|
|
P2 |
使用preparestmt执行包含clustering key的查询时报错: |
mask_md5是clustering key,在preparestmt时 |
V1.1 |
|
|
|
P2 |
用户执行带limit的query或主动cancel早停时,小概率发生coredump,导致query执行失败,worker重启。 |
SplitFactory的Close函数中进行了资源释放操作,但没有使用自己的ExecutionContext,导致资源释放时机早于其他函数执行结束,引发coredump。 |
V3.2.4 |
|
|
|
P2 |
TableGroup unload后Holoweb无法登录,元仓报错 |
发生unload时,在旧的warehouse上的binlog/fixed plan等新请求在bhclient中会retry 27.5s。fixed fe上消费binlog是连接ec同步调用这个方法,当发生retry时会卡连接ec,导致fixed fe新建连接创建卡住,从而导致连接堆积。 |
V3.2 |
V4.0.8 |
|
|
P2 |
Hologres V3.1版本Dynamic Table开启auto refresh后,容器内存(监控尺度拉到7天级别)持续上涨,holo worker内存稳定但FE内存升高。重复执行 |
UDF |
V3.1.0 |
|
|
|
P2 |
实例中存在2个worker内存高于其他worker,且无shard倾斜。监控显示FE内存差距过大,从内存开始上涨时间点查询,存在长连接存活很久且执行了大量DDL(query_count > 1000)。 |
DDL执行流程中存在内存泄漏。QueryDesc对象的内存释放依赖query结束时MemoryContext的整体释放,但UtilityStmt(广义DDL)的内存分配在长生命周期的MemoryContext中,导致query级别MemoryContext释放时不会释放它,产生内存泄漏。 |
所有版本 |
|
|
2026年2月
|
严重等级 |
报错/问题描述 |
缺陷原因 |
出现版本 |
修复版本 |
规避建议 |
|
P1 |
创建含有空格、特殊字符和大小写的复杂表名的表时,实例短暂重启。 |
在从系统表获取表的table property时状态错误,导致实例coredump。 |
|
|
|
|
P2 |
ai_gen与to_file联用时会报错。
|
ai_gen与to_file联用时,类型转换错误,导致函数报错。 |
|
|
|
|
P1 |
如果某计算组没有加载源表所在Table Group,在使用该计算组通过轻量级连接模式(Flink源表参数 |
在通过轻量级连接模式消费Binlog的初始化阶段,由于当前计算组未加载Table Group,请求会自动重试。重试期间错误持有全局锁,导致无法响应新建连接。 |
|
|
|
|
P1 |
含有双流Join的增量动态表首次刷新或REFRESH OVERWRITE时有概率报错。
如果定义中有基于双流Join结果的聚合,则可能导致聚合结果错误。 |
首次增量刷新有小概率会将短时间内已经被删除的数据计算进去,导致报错或者结果错误。 |
|
|
|
|
P2 |
array_to_string函数在处理两个入参请求时,如果输入数据包含NULL值,则该NULL值将参与计算。这与PostgreSQL的行为不一致,预期应为NULL值不参与计算。 说明
该函数在处理三个入参请求时,NULL值也会参与计算,与PostgreSQL行为一致。 |
HQE引擎在处理该函数两个入参请求时,计算逻辑存在缺陷。 |
|
|
|
2026年1月
|
严重等级 |
报错/问题描述 |
缺陷原因 |
出现版本 |
修复版本 |
规避建议 |
|
P2 |
在使用JOIN且执行引擎是PQE时,报错
|
Join 和 PQE场景下,Join的输出列和PQE的输入列对不齐导致报错。 |
|
|
|
|
P2 |
使用了PQE引擎,执行了between计算,报错
|
PQE引擎不支持between算子计算。 |
|
|
升级至最新版本。 |
|
P1 |
将timestamp作为segment key或者cluster key时,进行过滤会导致最终结果没有被过滤。 |
存储引擎在当前提取segment key有问题,导致数据未过滤。 |
|
|
升级至最新版本。 |
|
P1 |
升级到V4.0后内存持续升高,且在没有任何查询时也没有下降和平稳的趋势。 |
V4.0 版本在 result cache 链路遇到dict array会发生内存泄露。 |
|
|
|
|
P2 |
在CTE复用的情况下无法生成plan,报错
|
由于QO未正确更新CTE计数,导致最终报错。 |
|
|
|
|
P2 |
使用范围方式取数组元素报错,例如array_column[1:1]。 |
QO处理数组元素有问题,导致最终报错。 |
|
|
升级至最新版本。 |
|
P1 |
同时满足如下所有条件时,若Shard数大于bucket数,则PQE输出的数据不经过shuffle直接和另外一张同个Table Group的表的普通列存scan的结果做JOIN、UNION ALL 计算,有概率漏数据。
|
列存表使用主键索引的时候QO生成的计划里没有使用Gather算子,导致如果bucket数不等于shard数,一个bucket里有多个shard,pqe query 计算的shard_count/bucket_count的概率漏数据。 |
|
|
升级至最新版本。 |
|
P2 |
|
rebuild在老版本中并未考虑大小写的情况,所以导致失败。 |
|
|
升级至最新版本。 |
|
P2 |
subquery中包含case when表达式时,报错如下:
|
查询优化器处理该场景时存在Bug,导致无法生成可用的查询计划。 |
|
|
|
|
P1 |
在Flink消费Hologres Binlog时,如果Flink作业中定义的源表(Source Table)仅包含Hologres物理表中的部分列,则消费的数据可能会出现非预期的空值。 |
Flink的Hologres Connector在处理消费Binlog部分列的场景时存在缺陷。 |
|
|
|
|
P1 |
已完成的Query可能未能正确清理,从而导致事务残留,进而造成表锁无法释放。 |
当前版本在部分已结束运行的Query的垃圾回收(GC)逻辑上存在缺陷,导致查询标识符(query_id)残留。 |
|
|
|
2025年缺陷
2025年12月
|
严重等级 |
报错/问题描述 |
缺陷原因 |
出现版本 |
修复版本 |
规避建议 |
|
P0 |
查询 DLF 的 Paimon Postpone 表时,会读取到已提交但尚未进行压缩的数据,从而导致主键表中出现主键重复的情况。 |
Hologres升级至V3.2.12版本后,Paimon SnapshotReader类的接口行为发生了变更:
|
|
|
|
|
P1 |
在使用DLF外表时,当设置Paimon表的 |
当设置Paimon表的 |
|
|
|
|
P1 |
在使用CTE表达式时,发现拆分执行与联合执行的结果存在差异。 |
在使用CTE表达式时,尽管在执行中间结果时出现了失败,但并未将该失败情况上报给FE,最终导致了结果的错误。 |
|
|
|
|
P1 |
在用户具备相应权限的前提下,holgores.hg_query_log 和 hologres.hg_table_info 的查询结果为空。 |
holgores.hg_query_log 和 hologres.hg_table_info 数据未上报。 |
|
|
|
|
P0 |
含有多流JOIN 的 Dynamic Table增量刷新时,当只有一条流有数据且数据有回撤时,刷新结果出错,结果和查询结果不一致。 |
在Dynamic Table进行增量刷新时,存在仅在单流回撤情况下未能正确处理的问题,导致应从结果表中删除的数据未被正确移除,从而造成结果表的错误。 |
|
|
|
|
P1 |
升级至V4.0版本后,出现了Worker OOM错误,相关报错信息类似:
|
为了在内存中缓存更多数据,V4.0版本对内存结构进行了优化。然而,新的内存结构在处理Decimal类型时存在缺陷,因此当包含Decimal列的表参与HashJoin时,可能会导致实例发生CoreDump。 |
|
V4.0.10 |
|
|
P1 |
查询 MaxCompute Append Delta Table 有数据的表时,查询返回为空。 |
受到 Split Cache 影响,导致查询结果为空。 |
|
V4.0.9 |
|
|
P0 |
在V4.0版本中使用逻辑分区表,逻辑分区表包含主键并设置了clustering_key时,发现有主键数据重复。 |
V4.0 版本为了优化逻辑分区表的写入性能,支持多分区 Flush,在多分区 Flush 时,Cluster Index 的处理逻辑存在 Bug,导致写到盘古上的 AliORC 文件(列存内表的数据文件)内部的 Cluster Index可能有错,Cluster Index 错误可能导致数据存在但查不出来,最终导致在写入更新场景下,可能会认为不存在老数据,直接写了一条新的,从而产生重复。 |
|
V4.0.9 |
|
|
P1 |
升级到V4.0版本后,出现Worker OOM 报错,报错信息类似。
|
为了能够在内存中缓存更多的数据,V4.0 版本优化了内存结构,新的内存结构对于数据大小计算不准,导致过小的预估了需要放进内存的数据,最终导致了内存不够引起了worker OOM。 |
|
V4.0.7 |
|
2025年11月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现版本 |
修复版本 |
规避建议 |
|
P1 |
在Flink实时写入场景中,drop当前用户,后在创建同名的有权限的用户,即使新建连接,仍然报错没有权限。 |
FixedFE组件用户权限缓存更新策略问题。 |
|
|
|
|
P1 |
Dynamic Table 使用 Stream 模式增量刷新数据时,对 base 表做insert/update/delete,立刻truncate或insert overwrite,再次刷新时,刷新数据不正确。 |
Dynamic Table 使用 Stream 模式增量刷新数据时,对 base 表做insert/update/delete,立刻truncate或insert overwrite,再次刷新时,同一个主键可能消费到重复的delete消息,导致Dynamic Table结果不正确。 |
|
|
|
|
P2 |
通用型实例执行 |
通用型实例rebalance默认传参错误,导致报错。 |
|
|
|
|
P2 |
扩缩过程中,在 Table Group 的 Leader 计算组和 Follower 计算组目前会很低概率遇到 ShardPermissionDenied的报错,导致秒级的写入失败。 |
扩缩过程中,在 Table Group 的 Leader 计算组和 Follower 计算组目时预期会捕捉失败,并重试,但是ShardPermissionDenied的报错,没有转为可重试的 kShardHotMigrationInProgress,导致报错到用户端 |
|
|
|
|
P2 |
访问 MaxCompute 链路切换到 Common Table 链路后,当 Dynamic Table 使用了 MaxCompute 外表时,刷新报错,报错信息如下:
|
Dynamic Table传递plan的方式和普通olap query不同,传递过程中传递的binary被写坏了,导致filter解析失败。 |
|
|
|
|
P2 |
使用专家权限模型时,在用户被赋予 Dynamic Table 的 Owner 权限后,使用Dynamic Table的Owner身份对历史表或者分区刷新时,仍报错Permission Denied。 |
因为刷新的身份时首次刷新缓存下来的,导致修改权限身份后报错。 |
|
|
|
|
P2 |
查询DLF的数据时,对timestamp列的进行range filter查询时报错,报错信息如下:
|
literal类型错误处理错误,错误的使用了long进行处理 |
|
|
|
|
P2 |
当主键中包含boolean类型的列,且DML插入数据少于10条时,报错,报错信息如下:
|
Query Engine会把boolean类型的array转化为uint8 array,hybrid dml在创建row group filter时未考虑这个场景,导致row group filter里literal的类型(bool)和实际的值类型(long)不匹配。 |
|
|
|
|
P2 |
使用Remote UDF 时,报错如下:
|
调用时多线程处理存在问题,导致最终报错。 |
|
|
|
|
P1 |
Dynamic Table 使用 Stream 模式增量刷新数据时,若 base 表 compaction 后立刻 refresh,可能会导致增量数据乱序。 |
因为同一个key消费到的增量是乱序的,会导致最终的sink表结果错误。 |
|
|
|
|
P1 |
针对Rebuild功能:
|
|
|
暂未修复 |
|
|
P2 |
使用
|
|
|
|
|
|
P2 |
源表使用了数据脱敏,当使用
|
数据脱敏的设置没有传递到 |
|
|
|
|
P0 |
用户使用array高阶函数时,如果返回结果数组里面的元素都是相同的,则有可能去重为只有一个元素的数组。示例SQL:
|
数组计算框架对所有元素相同的数组处理存在缺陷。 |
|
|
|
2025年10月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P0 |
使用 HoloWeb 的 Table Resharding 功能时,若任务异常并点击“取消任务”,发现系统未正确清理临时表。 |
HoloWeb内部集成的清理函数存在缺陷 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P2 |
HG_MOVE_TABLE_TO_TABLE_GROUP(即Resharding)的目标表,如果表名带有特殊字符,或表名本身为关键字,Resharding 会失败(不报错,但是操作后Table Group没有变化)。 |
HG_MOVE_TABLE_TO_TABLE_GROUP在需要转义的场合处理存在问题 |
出现版本:所有版本 修复版本:需要使用V3.1版本Rebuild功能作为替代。 |
升级至最新版本,并改用Rebuild功能。 |
|
P2 |
Hologres Serverless Computing计算资源后付费账单中,“实例ID”字段错误展示为 |
底层配置存在问题。 |
出现版本:所有版本。时间范围为 修复版本:所有版本。时间范围为 |
单独处理错误时间段内的账单。 |
2025年09月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P0 |
在系统执行 |
后台处理同时执行完成的多条请求时存在缺陷。 |
出现版本:V3.0.9版本。 修复版本:V3.0.14及以上版本。 |
升级至最新版本。 |
|
P0 |
Hologres外部表数据导入至内部表时,自适应调整导入速度的功能在同时满足以下条件时会造成数据丢失:
|
外部表数据导入至内部表的自适应调整导入速度功能,遇到外部表数据读取回退到SQE链路时,会导致部分数据丢失。 |
出现版本:
修复版本:
|
实例级别执行GUC关闭自适应导入功能。
|
|
P1 |
设置数据脱敏后,对表执行update,查出来的结果没有脱敏。示例sql:
|
设置脱敏后,update对脱敏字段处理错误,导致结果未脱敏。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P1 |
实例重启后导致dynamic table不再自动刷新。 |
后端调度系统异常导致。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P1 |
逻辑分区Dynamic Table,开启自动刷新后,活跃分区是增量刷新模式,当分区结束活跃时间时,仍然为增量刷新没有自动转为全量刷新,且存储不断增加。 |
系统在处理dynamic table活跃分区时,分区状态处理错误。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P2 |
dynamic table设置clustering key,且是nullable属性,在执行alter dynamic table时报错clustering_key should not be nullable。 |
alter dynamic table时未能正常推导clusteringkey的属性,导致报错。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P2 |
列存表不设置clustering key,使用insert on conflict do update离线导入后,再实时写入,会有概率出现重复pk。 |
离线写入时处理主键的数据有误,导致实时写入没有检测到有重复数据,导致最后概率性出现主键重复。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P2 |
insert on conflict有主键重复时设置了hg_experimental_affect_row_multiple_times_keep_last参数也有主键重复报错duplicate key value violates unique constraint。 |
数据重复时,keep last的guc设置没有生效导致仍然主键重复报错。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P2 |
升级到V3.1版本后查询含脱敏字段的视图报错relation "xxx" does not exist。 |
V3.1版本的数据脱敏在处理视图时,对视图中的表名处理错误,导致报错表不存在。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P2 |
使用hg_insert_overwrite + external database 读取相关外表时,有概率sql卡住。 |
hg_insert_overwrite处理external database相关表时访问超时,导致卡住。 |
出现版本:
修复版本:
|
升级至最新版本。 |
2025年08月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P1 |
当Query请求出现以下任一情况时,可能在Query结束时触发Worker卡住问题,进而导致后续对相关表的DDL操作以及有LIMIT的Query请求被阻塞:
|
查询引擎在Query结束时的资源清理过程存在缺陷。 |
出现版本:
修复版本:
|
|
|
P1 |
使用Holo Client V2.6.0版本,通过阿里云AccessKey(阿里云账号、RAM用户、RAM角色)连接Hologres实例时,在每天的某个时间段内会连接失败。连接失败的时间段与使用Holo Client的客户端时区有关,如东八区为00:00:00+08至08:00:00+08无法连接、西五区为19:00:00-05至00:00:00-05无法连接。 |
Holo Client V2.6.0版本对时区处理存在问题。 |
Holo Client V2.6.0版本(与Hologres实例无关)。 |
将Holo Client升级至V2.6.1及以上版本。 |
|
P0 |
在Hologres V3.1版本中,若实例创建了Dynamic Table并以Stream方式消费基表数据,当Dynamic Table处于只读(ReadOnly)状态时,可能导致实例不断重启。 |
该场景会导致数据Flush失败,从而触发实例不断重启。 |
出现版本:
修复版本:
|
升级至最新版本。 |
2025年07月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
使用Serverless Computing导入数据执行失败时,中间文件有概率未删除,导致实例存储量增加。 |
中间文件清理逻辑有概率失效。 |
出现版本:V3.1.1版本。 修复版本:V3.1.20及以上版本。 |
|
|
P2 |
使用DLF查询Iceberg的外部表数据时,结果为空,未返回任何数据。 |
查Iceberg时文件解析错误,导致查询为空。 |
出现版本:V3.1.1~V3.1.16版本。 修复版本:V3.1.17及以上版本。 |
升级至最新版本。 |
|
P2 |
使用生成列建表,查询错误
|
表中有生成列,发起查询时,优化器翻译生成列错误,导致查询报错。 |
出现版本:V3.1.1~V3.1.16版本。 修复版本:V3.1.17及以上版本。 |
升级至最新版本。 |
|
P1 |
创建Dynamic Table时,Query中有BOOLEAN类型,Refresh报错: |
Dynamic Table对于BOOLEAN类型的字段推导错误,导致Refresh错误。 |
出现版本:V3.1.1~V3.1.15版本。 修复版本:V3.1.16及以上版本。 |
升级至最新版本。 |
|
P2 |
Hologres升级到V3.1版本后, |
|
出现版本:
修复版本:
|
升级至最新版本。 |
|
P2 |
Hologres V3.1版本创建Dynamic Table为增量刷新后,直接删除Dynamic Table,状态表仍然保留。 |
直接删除增量刷新的Dynamic Table时,状态表没有被正确清理,导致残留。 |
出现版本:V3.1.1~V3.1.12版本。 修复版本:V3.1.13版本。 |
升级至最新版本。 |
|
P2 |
跨Schema使用 |
RoaringBitmap64位相关函数的Schema推导错误,导致跨Schema查询报错。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P2 |
创建Dynamic Table为逻辑分区表时,Base表指定了字段为NOT NULL,创建时报错:
|
Dynamic Table得NOT NULL属性推导错误。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P2 |
单表物化视图存在SUM(DECIMAL)时,实例会出现短暂重启现象。 |
单表物化视图计算SUM(DECIMAL)时,由于内存未对齐,导致实例发生了核心转储(coredump) |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P1 |
Hologres实例升级至V3.0.41版本后,使用CommonTable链路查MaxCompute外部表时,内存缓慢上涨。 |
CommonTable链路查MaxCompute外表时,有内存泄露,导致内存上涨。 |
出现版本:
修复版本:
|
升级至最新版本。 |
|
P0 |
在特定并发场景下,对同一张表使用Serverless Computing执行DML操作时,同时执行TRUNCATE/DROP TABLE操作,可能因引擎内部状态同步问题,导致该表所在Shard出现读写异常。 |
由于引擎并发处理存在问题,引起Shard内部状态异常,受影响的Shard将暂时无法提供读写服务,可能影响业务中部分表的正常访问。 |
出现版本:
修复版本:
|
|
2025年06月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P1 |
计算组实例扩容时,计算节点偶发性重启。 |
系统缺陷,如果表同时存在DML任务、Compaction任务,并执行计算组扩容时,有概率触发。 |
出现版本:V3.0.1版本。 修复版本:V3.0.28及以上版本。 |
升级到最新版本。 |
|
P1 |
JSONB列式存储优化和GIN索引一起使用时,实例会异常重启。 |
JSONB列式存储优化和GIN索引存在不兼容情况。 |
出现版本:V3.1.1版本。 修复版本:
|
|
|
P2 |
Dynamic Table的基表都是View时,执行Refresh会导致实例重启。 |
当基表是View时,会导致Dynamic Table在Refresh时处理错误,导致实例coredump。 |
出现版本:V3.1.8版本。 修复版本:V3.1.9及以上版本。 |
升级到最新版本。 |
|
P2 |
Dynamic Table增量刷新模式下,Query中有ARRAY_AGG函数,当数据全被Agg Filter过滤后,返回结果是空(期望是null)。 |
无。 |
出现版本:
修复版本
|
升级到最新版本。 |
|
P1 |
属性关联漏斗函数(finder_funnel)指定时区时,结果计算错误。指定时区的示例SQL如下:
|
finder_funnel函数默认是UTC时区,当在SQL中指定时区时,将时区错误的丢弃,导致结果错误。 |
出现版本:V3.0.40版本。 修复版本:V3.0.41及以上版本。 |
升级到最新版本。 |
|
P2 |
计算组实例,使用PG_RELATION_SIZE、PG_DATABASE_SIZE、HOLOGRES.HG_RELATION_SIZE查出来的存储不正确。 |
计算组实例下,使用PG_RELATION_SIZE查询出来的存储会多算,导致结果不正确。 |
出现版本:V3.0.39版本。 修复版本:V3.0.40及以上版本。 |
升级到最新版本。 |
|
P2 |
Dynamic Table增量刷新模式下单次刷新时,如果基表中有多行重复的数据,刷新报错 |
当单次刷新有多行重复数据时,增量刷新处理错误导致刷新报错。 |
出现版本:V3.0.39版本。 修复版本:V3.0.40及以上版本。 |
升级到最新版本。 |
|
P2 |
Dynamic Table增量刷新有多表JOIN时,表中有ARRAY字段的Refresh报错 |
有ARRAY字段时,多表JOIN的增量刷新无法正确处理。 |
出现版本:
修复版本
|
升级到最新版本。 |
|
P1 |
通过事务向逻辑分区写入数据时,如果分区列数据基数过大导致分区数量超过限制(5200个),则事务Commit时,会发生实例重启。 |
事务Commit时检查到逻辑分区表的分区数超出限制,进程异常自行终止,导致实例Coredump。 |
出现版本:V3.1.1版本。 修复版本:V3.1.9及以上版本。 |
优化导入任务的数据质量,清洗分区键的脏数据,避免分区数量过多。 |
2025年04月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
读取MaxCompute外表时报错 |
在读取MaxCompute外表时接口转换错误,导致读取外表失败。 |
出现版本:V3.0.1~V3.0.35版本。 修复版本:V3.0.36及以上版本。 |
升级到最新版本。 |
|
P2 |
hg_create_table_like复制表coment时发生错误。 |
hg_create_table_like在复制表comment时识别错误,将表comment复制成了列comment。 |
出现版本:V3.0.1~V3.0.33版本。 修复版本:V3.0.34及以上版本。 |
升级到最新版本。 |
|
P2 |
查询数据湖外表时报错 |
读取外表时,数据格式转换错误,导致报错。 |
出现版本:V3.0.1~V3.0.30版本。 修复版本:V3.0.31及以上版本。 |
升级到最新版本。 |
|
P1 |
使用ARRAY_AGG函数后,概率性出现内存持续上涨的情况。 |
ARRAY_AGG函数存在内存泄露问题,导致内存使用量持续增加。 |
出现版本:V3.0.1~V3.0.29版本。 修复版本:V3.0.30及以上版本。 |
升级到最新版本。 |
|
P2 |
CTE查询语句中存在Nested Loop Join时,报错 |
优化器推导JOIN ORDER错误,导致查询报错。 |
出现版本:V3.0.1~V3.0.27版本。 修复版本:V3.0.28及以上版本。 |
升级到最新版本。 |
|
P2 |
使用GENERATE_SERIES函数处理DECIMAL类型的字段时,报错 |
优化器对DECIMAL类型字段的精度推导错误,导致报错。 |
出现版本:V3.0.1~V3.0.25版本。 修复版本:V3.0.26及以上版本。 |
升级到最新版本。 |
|
P2 |
查看hg_stat_activity的 |
当 |
出现版本:V3.0.1~V3.0.25版本。 修复版本:V3.0.26及以上版本。 |
升级到最新版本。 |
2025年03月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
使用窗口函数,例如ROW_NUMBER() OVER,处理字段 |
窗口函数处理 |
出现版本:V3.0.24及以下版本。 修复版本:V3.0.25及以上版本。 |
升级到最新版本。 |
|
P1 |
在Dynamic Table中手动指定Distribution Key时,不生效。 |
引擎推导错误,导致手动设置的Distribution Key未生效。 |
出现版本:V3.0.24及以下版本。 修复版本:V3.0.25及以上版本。 |
升级到最新版本。 |
2025年02月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P1 |
用BI或开发工具连接Hologres时,没有权限的用户也能看到Database、Schema和Table的元数据信息。 |
权限控制不严格。 |
出现版本:V3.0.23及以下版本。 修复版本:V3.0.24及以上版本。 |
升级到最新版本。 |
|
P2 |
MaxCompute外部表JOIN Hologres_fdw外部表时查询报错 |
Hologres_fdw外部表在JOIN MaxCompute外部表时,如果内部表发生Shard Pruning,会产生逻辑错误,导致查询报错。 |
出现版本:V3.0.22及以下版本。 修复版本:V3.0.23及以上版本。 |
升级到最新版本。 |
|
P2 |
Hologres实例升级到V2.2版本后,使用GENERATE_SERIES集合返回函数处理DECIMAL类型字段时报错 |
GENERATE_SERIES函数处理DECIMAL字段时,优化器对DECIMAL类型的字段精度推导错误,导致查询报错。 |
出现版本:V2.2.22及以下版本。 修复版本:V2.2.23及以上版本。 |
升级到最新版本。 |
|
P2 |
为某个账号设置脱敏规则为 |
设置脱敏后,没有正确判断账号的脱敏规则导致查询不符合预期。 |
出现版本:
修复版本:
|
升级到最新版本。 |
|
P2 |
使用JDBC模式消费Hologres Binlog时,作业抛出 |
在消费Binlog的过程中,如果Flink下游算子反压或其他异常,导致源表数据消费不及时,后端会抛出超时异常。Gateway转发异常到客户过程中存在问题,导致读取数据卡住或数据解析失败报错。 |
|
升级到最新版本,并重启Flink任务。 |
|
P2 |
JSONB列在开启列式存储优化功能后,如果设置了Bitmap索引,将会导致数据写入后Flush和Compaction失败,实例存储量上涨、内存水位上升。 |
JSONB列式存储优化功能对BINARY类型开启Bitmap索引的处理存在缺陷。 |
出现版本:
修复版本:
|
|
2025年01月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
array_agg函数在窗口里的计算结果错误。示例如下:
|
array_agg函数与窗口函数一起计算时,计算逻辑错误导致结果不正确。 |
出现版本:
修复版本:
|
升级到最新版本。 |
|
P2 |
创建EXTERNAL TABLE时,含有大写字符的表,查询报错:
|
EXTERNAL TABLE在读取包含大写字符的表时,大小写转义错误,导致查询报错。 |
|
升级到最新版本。 |
|
P2 |
未配置OSS Endpoint时,查询DLF中的表报错:
|
未配置OSS Endpoint时,无法正确路由到对应的OSS表,导致查询报错。 |
|
升级到最新版本。 说明
升级到新版本后,无需配置OSS Endpoint即可查询成功。 |
2024年缺陷
2024年12月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
Dynamic Table在全量和增量刷新时,若包含DECIMAL类型字段,将报错 |
Dynamic Table在全量和增量刷新时,DECIMAL类型字段的精度推导错误,从而导致Refresh报错。 |
出现版本:V3.0.16及以下版本。 修复版本:V3.0.17及以上版本。 |
|
|
P2 |
UNION ALL两边Query Schema不一致时报错 |
UNION ALL推导Schema不正确,从而导致报错。 |
出现版本:V3.0.16及以下版本。 修复版本:V3.0.17及以上版本。 |
升级到最新版本。 |
|
P2 |
Dynamic Table增量刷新对SMALLINT类型字段进行聚合时,报错不支持。 |
Dynamic Table增量刷新对SMALLINT类型支持不够完善。 |
出现版本:V3.0~V3.0.16版本。 修复版本:V3.0.17及以上版本。 |
升级至最新版本。 |
|
P2 |
升配计算组实例后,查询报错 |
升配计算组期间,表Meta未及时更新,导致查询时获取的是旧表Meta的数据,从而导致升配后报错。 |
出现版本:
修复版本:
|
|
|
p1 |
Hologres升级至V3.0.12~V3.0.15版本后,对于开启动态分区的表,如果分区键类型是TEXT,动态分区的调度可能会出现错误,从而导致创建分区表失败。 |
对于TEXT为分区键时,调度系统处理有问题,会导致内部转换失败,从而建表失败。 |
出现版本:V3.0.12~V3.0.15版本。 修复版本:V3.0.16及以上版本。 |
升级到最新版本。 |
|
p1 |
Hologres版本升级至V3.0~V3.0.13版本后,查询MaxCompute外表性能变慢。 |
自Hologres V3.0版本,加强了获取MaxCompute Table Meta权限检查,这导致FE节点发生多次反复调用,从而降低了查询MaxCompute外部表的性能。 |
出现版本:V3.0~V3.0.13版本。 修复版本:V3.0.14及以上版本。 |
升级到最新版本。 |
2024年11月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
Dynamic Table全量刷新模式下开启Binlog后,Refresh报错 |
Dynamic Table全量刷新模式下开启Binlog后,隐藏列推导不一致,导致Refresh报错。 |
出现版本:V3.0.11及以下版本。 修复版本:V3.0.12及以上版本。 |
升级到最新版本。 说明
不建议全量刷新模式开启Binlog,每一次全量刷新都相当于在执行 |
|
P2 |
SLPM权限模型下,删除Orafce Extension再重新创建会报错 |
SLPM权限模型下,删除Orafce Extension时用户组的权限未清理干净,导致在重新创建时用户组仍然存在,从而无法成功创建Orafce Extension。 |
出现版本:V3.0.9及以下版本。 修复版本:V3.0.10及以上版本。 |
|
|
P2 |
Dynamic Table中有Decimal字段,Refresh时报错 |
Decimal字段的精度推导不正确,导致Dynamic Table在Refresh时精度不一致而报错。 |
出现版本:V3.0.9及以下版本。 修复版本:V3.0.10及以上版本。 |
|
|
P2 |
元仓大于10 s的Query偶发出现Plan列没有EXPLAIN ANALYZE结果。 |
大于10 s的Query在汇报偶发延迟,导致Plan列没有采集到结果。 |
出现版本:
修复版本:
|
升级到最新版本。 |
|
P2 |
Analyze带BIS类型的表报错 |
Analyze对BIS类型的字段支持不完善,导致出现报错。 |
出现版本:
修复版本:
|
升级到最新版本。 |
|
P2 |
使用 |
|
出现版本:V2.2.30及以下版本。 修复版本:V2.2.31及以上版本。 |
升级到最新版本。 |
|
P2 |
实例频繁执行DDL操作,若FE节点的版本刚好不一致时执行了TRUNCATE操作,此时对TRUNCATE执行CANCEL时,无法成功CANCEL,可能会导致数据结果不一致。 |
当FE节点的版本不一致时,会出现节点Relay卡住,导致后续DDL失败,如果期间执行DROP、TRUNCATE,执行CANCEL不会成功。 |
出现版本:V2.2.26及以下版本。 修复版本:V2.2.27及以上版本。 |
升级到最新版本。 |
|
P2 |
执行SQL语句过长超出了限制报错: |
Hologres增加了SQL长度限制,默认值10000000。 |
出现版本:
|
通过设置如下参数取消SQL长度限制。
|
2024年09月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P1 |
数据库首次开启DML事务后,如果在SQL中对同一表执行并发DDL操作,可能会导致Query卡住等现象。 |
在数据库首次使用DML事务时,将首先获取表锁。如果该表存在并发的DDL操作,系统将进入尝试建表的循环,概率性出现死锁,导致Query卡住等。 |
出现版本:V2.2.24及以下版本。 修复版本:V2.2.25及以上版本。 |
升级到最新版本。 |
|
P2 |
对于包含roaringbitmap类型字段的Hologres表,当通过 |
跨库查询的外表不支持roaringbitmap类型,在创建外表时需要校验。 |
出现版本:V2.2.24及以下版本。 修复版本:V2.2.25及以上版本。 |
升级到最新版本。 说明
升级完成后,进行跨库查询时,如果外表中存在roaringbitmap类型,将直接报错,提示不支持该类型。 |
|
P2 |
使用JDBC prepareStatement方法时,反复执行
|
使用JDBC prepareStatement方法循环执行 |
出现版本:
修复版本:
|
|
|
P2 |
元仓Query Log中的result_rows和affected_rows值与实际值不符。 |
元仓汇报result_rows和affected_rows时发生错误,导致汇报的值与实际值不符。 |
出现版本:V2.2.22及以下版本。 修复版本:V2.2.23及以上版本。 |
升级到最新版本。 |
|
P2 |
计算组实例中,重启主计算组时,可能会导致从计算组点查(基于主键的查询)变慢。 |
重启主计算组时,正常运行的计算组对应的Shard会轮询主Shard状态,导致点查卡住,直到所有Shard恢复后才会继续执行。 |
出现版本:V2.2.21及以下版本。 修复版本:V2.2.22及以上版本。 |
升级到最新版本。 |
|
P2 |
BSI_SUM函数结果数组中,所有元素的总和超出2^31时,结果出错。 |
函数数据溢出情况误处理。 |
出现版本:V2.1.1及以上版本。 修复版本:等待修复。 |
|
|
P2 |
连接Hologres实例偶发创建连接超时或卡住,导致无法新建连接。 |
连接实例偶发节点内进程卡住,导致此节点无法创建新连接。 |
出现版本:低于V2.2.23,V2.1.43,V2.0.46,V1.3.71的版本。 修复版本:V3.0.4,V2.2.23,V2.1.43,V2.0.46,V1.3.71及以上版本。 |
|
2024年08月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
计算组实例中,若某个计算组A不可用(如正在重启),其他计算组对A加载的Table Group中的表执行点查时,延迟升高。 |
实时读写链路内部模块存在缺陷,计算组执行点查时会等待Table Group状态,导致延迟升高。 |
出现版本:V2.1.1至V2.2.21版本。 修复版本:V2.2.22及以上版本。 |
升级到最新版本。 |
|
P1 |
Fixed Plan实时写入数据量超过100万QPS时,有小概率触发写入失败和实例重启。 |
实时读写链路内存管理器存在缺陷。 |
出现版本:
修复版本:
|
升级到最新版本。 |
2024年07月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P1 |
使用jdbc或jdbc_fixed模式读取Hologres的Binlog时,如果Flink作业遭遇反压导致后端超时,有概率导致Flink作业卡住或触发Failover。 |
Gateway收到后端超时的异常信息时,将异常返回给客户端的过程中存在问题,导致读取数据卡住或数据解析失败报错。 |
出现版本:V1.3及以上版本。 修复版本:V2.2.21及以上版本。 |
从最新的checkpoint直接重启作业,并升级到最新版本。 |
|
P2 |
在V2.2版本之后,使用了Shard Pruning(执行计划中包含Shard Prune算子)的COUNT DISTINCT操作,通过PQE执行,导致计算性能下降。
|
使用Shard Pruning后,COUNT DISTINCT的执行计划推导错误,导致通过PQE执行,影响查询性能。 |
出现版本:V2.2.1至V2.2.18版本。 修复版本:V2.2.19及以上版本。 |
|
|
P2 |
慢Query日志( |
慢Query日志中的 |
出现版本:V2.2.1至V2.2.18版本。 修复版本:V2.2.19及以上版本。 |
升级到最新版本。 |
|
P2 |
在写入分区子表时,若COPY列中包含了分区列,并且当分区值为0时,传入其他非0值也能正常写入,这可能导致分区值出现脏数据。
|
在写入分区子表时,如果copy列中包含了分区列,并且分区值为0,系统缺少对分区值为0的检查,从而导致脏数据成功写入。 |
出现版本:V2.2.1至V2.2.18版本。 修复版本:V2.2.19及以上版本。 |
升级到最新版本。 |
|
P2 |
在连接串上显示的设置时区为
|
连接串上指定了时区后,PQE在解析日期函数时计算时区错误,导致结果错误。 |
出现版本:V2.2.1至V2.2.18版本。 修复版本:V2.2.19及以上版本。 |
升级到最新版本。 |
|
P2 |
使用 |
|
出现版本:V2.2.1至 V2.2.18版本。 修复版本:V2.2.19及以上版本。 |
升级到最新版本。 |
|
P0 |
使用动态分区管理功能时,如果 |
自V2.2版本开始,动态分区管理功能支持自定义调度开始时间,对于按月分区时间计算有误。 |
出现版本:V2.2.1至V2.2.17版本。 修复版本:V2.2.18及以上版本。 |
升级到最新版本。 |
2024年06月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P1 |
执行 和 |
自V2.2版本开始,MaxCompute外部表操作需要通过服务关联角色(SLR)来进行身份验证。由于当前实现存在问题,已创建SLR的用户在执行 和 |
出现版本: V2.2.1至V2.2.14版本。 修复版本: V2.2.15及以上版本。 |
升级到最新版本。 |
|
P1 |
源表存在重复数据,执行 |
执行 |
出现版本: V2.2.13及以下版本。 修复版本: V2.2.14及以上版本。 |
升级到最新版本。 |
|
p2 |
通过Flink将Paimon数据读取并写入Hologres时,Paimon VARCHAR类型数据与Hologres数据格式不一致。
|
Hologres对Paimon VARCHAR类型的数据转换错误,导致出现乱码。 |
出现版本: V2.2.12及以下版本。 修复版本: V2.2.13及以上版本。 |
升级到最新版本。 |
|
p2 |
|
为了能够利用索引,PostgreSQL定义了NaN和其他数字的大小比较规则,将NaN值视为相等,且大于任何非NaN值。而Hologres在实现时遵循了C++标准的比较规则,因此NaN值互不相等,导致结果与PostgreSQL不一致。 |
出现版本: V2.1.37及以下版本。 修复版本:
|
升级到最新版本。 |
2024年05月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
使用Fixed Plan点查多个相同主键值时(例如 |
Fixed Plan没有对相同主键的多组过滤条件进行去重。 |
出现版本: V2.2.8及以下版本。 修复版本: V2.2.9及以上版本。 |
|
|
P1 |
在Rebalance过程中,执行Schema Change的相关操作后,实例无法正常写入和查询。 |
在Rebalance过程中,当Shard的Leader和Follower延迟小于10秒时,将进行Follower和Leader的切换。在切换时,若用户执行Schema Change的相关操作,会导致存储引擎SE的状态异常,进而导致实例无法进行正常的写入和查询操作。特别是在Hologres V2.1版本中,当实例存在空Worker节点时,会自动触发Rebalance机制,从而增加了该问题发生的概率。 |
出现版本:
修复版本:
|
升级到最新版本。 |
|
P2 |
Hologres实例升级至V2.1.25及以上版本后,对非public下的表执行 |
对 |
出现版本: V2.1.25至V2.1.32版本。 修复版本: V2.1.33及以上版本。 |
|
|
P2 |
使用FixedFE(对应Connector中的 |
FixedFE在SLPM模型权限变化时,没有及时刷新缓存,导致用户已有权限,却仍然出现相关报错。 |
出现版本: V2.0.31及以下版本 修复版本: V2.0.32及以上版本。 |
升级到最新版本。 |
2024年04月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
使用datediff函数按照指定的单位计算两个时间差值时,偶发返回结果与实际结果相差1。 |
该函数计算存在逻辑缺陷。 |
出现版本: V2.0.31版本。 修复版本: V2.1.27及以上版本。 |
升级到最新版本。 |
|
P2 |
Hologres实例升级至V2.1.26版本后,监控指标显示实例内存分布使用率中的Query内存缓慢上涨。 |
升级至V2.1.26版本,当Query出现OOM问题后,内存指标会被重复统计,导致监控中内存相关的指标上涨。 说明
实例中的内存并没有真正上涨,只是监控统计重复。 |
出现版本: V2.1.26版本。 修复版本: V2.1.27及以上版本。 |
升级到最新版本。 |
|
P1 |
Hologres实例升级至V2.1版本,且在实例中进行MaxCompute外部表查询时,出现实例内存缓慢上涨现象,Query性能出现抖动,或者OOM较多。 |
使用V2.1版本实例查询MaxCompute外部表时,打开的文件未被及时关闭,导致内存缓慢上涨,影响了Query性能或者实例稳定性。 |
出现版本: V2.1.1至V2.1.25版本。 修复版本: V2.1.26及以上版本。 |
升级到最新版本。 |
|
P2 |
V2.1版本中,主从实例或计算组实例的存储容量变多,表现为监控指标的存储使用总量大于通过pg_relation_size函数计算的存储总量。 |
V2.1版本的主从实例或计算组实例回收旧文件不及时,导致存储容量增长,监控采集的存储量变多。 |
出现版本: V2.1.1至V2.1.25版本。 修复版本: V2.1.26及以上版本。 |
升级到最新版本。 |
|
P1 |
Flink通过JDBC模式消费Hologres Binlog时,出现作业启动时消费速率较高,之后持续下降的情况。 |
Flink通过JDBC模式消费Hologres Binlog时,存在内存泄漏问题。 |
出现版本: VVR V6.0.7以下版本。 修复版本: VVR V6.0.7及以上版本。 |
升级到最新版本。 |
2024年03月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P0 |
由于查询资源未释放导致:
|
当查询仅涉及Shard数据,且使用了PQE或SQE执行MaxCompute外部表或数据湖外部表的查询时,查询完成后不会系统主动触发资源回收,只能使用Query Master的垃圾回收机制来回收资源。当Query Master压力较大时,查询操作会因退出延迟而占用大量资源,导致后续的查询无法执行。 |
出现版本: V2.1.23至V2.1.24版本。 修复版本: V2.1.25及以上版本。 |
升级到最新版本。 |
|
P1 |
对字典编码过的列添加bitmap,导致not null的列查询结果错误,出现null值。 |
对字典编码过的列添加bitmap,后端构建bitmap时,未对全部数据生效,导致结果有错误。 |
出现版本: V2.1.21及以下版本。 修复版本: V2.1.22及以上版本。 |
升级到最新版本。 |
|
P1 |
通过Fixed Plan进行数据的实时写入或点查,实例内存使用率逐渐上涨。 |
Hologres V2.1版本中Fixed Plan执行引擎进行了重构,其为读写表创建的operator没有及时清理,导致内存泄露。 |
出现版本: V2.1.1至V2.1.9版本。 修复版本: V2.1.10及以上版本。 |
升级到最新版本。 |
|
P1 |
对运行在PQE上的Query执行取消(cancel)操作时,有概率触发对应PQE节点的进程死锁,无法处理新的PQE请求。 |
PQE IO并发控制功能缺陷,当PQE接收到cancel信号时有概率触发。影响所有PQE进程。 |
出现版本:
修复版本:
|
升级到最新版本。 |
|
P2 |
INTERSECT或EXCEPT函数在Shard Pruning时,出现执行结果与实际结果不一致。例如在Shard Pruning时,执行如下示例SQL,返回结果可能与实际结果不符。
|
当前INTERSECT或EXCEPT函数是通过JOIN实现,在Shard Pruning时,对于INTERSECT或EXCEPT函数的处理导致执行计划不正确,结果出现错误。 |
出现版本: V2.1.21及以下版本。 修复版本: V2.1.22及以上版本。 |
升级到最新版本。 |
|
P2 |
在PQE进程退出时,存在小概率的卡死现象,持续积累后会导致PQE无法处理新的请求。 |
PQE进程退出时,启动的RPC退出线程和主线程存在并发问题,导致RPC退出线程无法正常结束,进而导致PQE进程无法顺利退出。 |
出现版本: V2.1.0至V2.1.14版本。 修复版本: V2.1.15及以上版本。 |
升级到最新版本。 |
|
P2 |
并发执行PQE的Query时,实例出现短暂重启现象。 |
Hologres V2.0及以下版本中,PQE存在多线程并发问题,导致实例概率性的出现Coredump。 |
出现版本: V2.0及以下版本。 修复版本: V2.1.0及以上版本。 |
升级到最新版本。 |
|
P2 |
使用Prepared Statement模式执行包含 |
优化器生成Plan错误,导致实例出现Coredump。 |
出现版本: V2.0及以下版本。 修复版本: V2.1.0及以上版本。 |
升级到最新版本。 |
2024年02月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
TEXT类型先转换为BIT类型,再转换成BIGINT类型报错:
|
TEXT类型转BIT类型支持不完善,导致出现报错: |
出现版本: V2.1.20及以下版本。 修复版本: V2.1.21及以上版本。 |
升级到最新版本。 |
|
P2 |
行存表指定了PK,Clustering Key设置为空串时,出现元数据不一致导致Query卡住。示例建表SQL:
|
行存表的Clustering Key为空串时,与PK不一致,FE节点响应请求失败,从而造成元数据不一致,导致Query停滞。 |
出现版本: V2.1.20及以下版本。 修复版本: V2.1.21及以上版本。 |
|
|
P2 |
Query的过滤条件(where)中包含Clustering Key,且使用
|
当过滤条件中有Clustering Key,且使用 |
出现版本: V2.1.19及以下版本。 修复版本: V2.1.20及以上版本。 |
升级到最新版本。 |
|
P1 |
在Hologres V2.1版本中,实例内存使用率有缓慢上涨,查询MaxCompute外部表时,偶发出现 |
实例升级到 V2.1版本后,由于外部表的底层数据文件没被及时关闭,导致内存泄漏,偶发引起实例重启。 |
出现版本: V2.1.10至V2.1.18版本。 修复版本: V2.1.19及以上版本。 |
升级到最新版本。 |
|
P2 |
DECIMAL类型相乘后精度不符合预期。示例SQL:
|
DECIMAL类型乘法默认小数精度是18位,两个DECIMAL类型相乘后小数位数超过18时,会导致将数据截断再计算,从而出现结果不符合预期。 |
出现版本: V2.1.18及以下版本。 修复版本: V2.1.19及以上版本。 |
|
2024年01月
|
等级 |
报错/问题描述 |
缺陷原因 |
出现/修复版本 |
规避建议 |
|
P2 |
升级到Hologres V2.1版本后, |
Hologres V2.1版本FrontEnd错误增加了过长的replay缓存时间,导致同一个DDL后再执行DML,DDL replay会变慢。 |
出现版本: V2.1.1至V2.1.14版本。 修复版本: V2.1.15及以上版本。 |
升级到最新版本。 |
|
P2 |
|
在SQL中 |
出现版本:
修复版本:
|
升级到最新版本。 |
|
P2 |
使用 |
|
出现版本: V2.1.1至V2.1.12版本。 修复版本: V2.1.13及以上版本。 |
升级到最新版本。 |
|
P2 |
使用 |
对于全表扫描带LIMIT的场景,Hologres会通过惰性加载(lazy loading)的方式加载数据,一次性扫描太多数据导致卡住。 |
出现版本:
修复版本:
|
升级到最新版本。 |
|
P2 |
对实例执行重启、升级、升降配等涉及实例重启的操作后,MaxCompute直读Hologres外部表时,偶发任务卡住。 |
对于Hologres表,后台会定期触发元数据更新,实例重启后,系统会重新刷新一次表的元数据,MaxCompute直读Hologres未能及时获取元数据状态,导致任务卡住。 |
出现版本:
修复版本:
|
升级到最新版本。 |