This document lists the issues resolved in each Hologres version, including issue descriptions and impact analysis. Use the error messages or issue descriptions to determine if your instance is affected. We recommend joining the Hologres real-time data warehouse user group to contact technical support for help upgrading your instance to the latest version. For more information, see How to get online support?.
Background
-
Bugs and fixes
-
A bug found in a specific version also exists in all previous versions, unless noted otherwise.
For example, a bug in V1.3 is also present in V1.1 and V0.10.
-
A bug fixed in a specific version remains fixed in all subsequent versions.
For example, a bug fixed in V1.1 remains fixed in V1.3 and later versions.
-
-
Bug severity
-
P0 (Critical): Upgrade immediately. These bugs can impact production services, such as query correctness and write success rate.
-
P1 (High): You should upgrade to prevent potential issues.
-
P2 (Medium): Upgrade as needed. You can resolve these intermittent bugs by rewriting a method or restarting the instance.
-
2026 defects
June 2026
|
Severity level |
Description |
Root cause |
Affected version |
Fixed version |
Workaround |
|
P0 |
Flushing data on a logical partitioned table with partial primary key updates may cause the instance to restart. |
A defect in how logical partitioned tables handle primary key update scenarios during flush operations. |
V3.1.1 |
V3.2.29, V3.1.43 |
Upgrade to a fixed version. |
|
P0 |
Data writes fail with the error |
A defect in the memtable partition count validation fails to include partitions from the current write batch, causing the worker to terminate unexpectedly. |
V4.0.1 |
V4.1.21, V4.2.2, V4.0.37 |
May 2026
|
Severity level |
Description |
Root cause |
Affected version |
Fixed version |
Workaround |
|
P1 |
Running Rebuild on a table with Binlog enabled may cause the frontend node to hang, making the instance unavailable. |
A defect in how Rebuild handles Binlog-enabled tables causes lock contention, which can hang the frontend node. |
V4.1.1 to V4.1.20 |
V4.1.21 |
|
|
P2 |
Specifying multiple options in the connection string causes connection failures or incorrect parameter values. For example, setting options to |
The gateway module incorrectly strips whitespace when parsing the options field, causing multiple parameters to be merged into a single malformed value. |
|
|
|
April 2026
|
Severity level |
Description |
Root cause |
Affected version |
Fixed version |
Workaround |
|
P2 |
When you use Data Masking V2 to query a VIEW that contains a masked table, you may incorrectly receive a |
The data masking feature incorrectly handles permissions. |
|
|
Upgrade to a fixed version. |
|
P1 |
When you execute a DML statement on a table that has a global secondary index (Global Index), an error is reported if the execution plan uses the Shard Prune operator: |
The global secondary index feature does not yet support the Shard Prune operator. |
V4.0.1 |
To be fixed |
|
March 2026
|
Severity |
Description |
Root cause |
Affected versions |
Fixed versions |
Workaround |
|
P1 |
Using the phrase search mode of a full-text inverted index can produce incorrect search results if the |
The matching logic for full-text inverted indexes is flawed when the |
V4.0.1 |
V4.1.9 |
|
|
P2 |
A
|
The distribution key list is passed to the inner query, but it corresponds to the final output columns and cannot be mapped to the columns in the inner query. |
V3.1 |
|
|
|
P2 |
When loading a table group into a |
In the function |
V1.1 |
|
|
|
P2 |
Batching an array column with a variable-length data type that exceeds 64 MB reports the following error: |
A mutable array reserves space for only one row, but the appended array contains more than one row. When a text column exceeds 64 MB, the builder size is reserved for only one row without considering the minimum required size. |
V4.0 |
|
|
|
P2 |
When a user runs an SQL statement, the Alibaba Cloud account name is not automatically converted to an ID, for example, in |
|
|
V3.0.53 |
|
|
P2 |
During batch copy processing, full shared memory can cause an |
In batch copy mode, client data is batched by row count and written to shared memory. If a single row is large (approximately 600 MB per batch), concurrent writes from multiple connections can exhaust the shared memory. This can cause subsequent writes to fail or the process to crash because the read-side reads invalid values due to an overflow. |
V1.1 |
|
|
|
P2 |
When reading array columns from Parquet files, an error occurs due to page index skipping. This issue may be triggered when the page index is enabled (default), an SQL query reads array columns, and a |
A compatibility issue exists between the page index skipping logic and array column reading. When |
V3.1 |
|
|
|
P2 |
Fixed an issue in Fixed plan mode where an INSERT ON CONFLICT statement produced an incorrect result if the WHERE clause was a constant. For example, when you executed |
When the |
V4.0 |
|
|
|
P2 |
The Parquet reader cannot process empty row groups. An error is reported when reading a row group that contains 0 rows. In Hologres V3.1 and later, this may cause a coredump, and the stack trace contains |
The reader assumes that a row group contains data and is not empty. When processing an empty row group, the end-of-file (EOF) marker returned by the data page parser is ignored, which incorrectly triggers the error handling logic. |
V3.0 |
|
|
|
P0 |
Submitting an empty file during a bulkload operation causes the flush operation to fail. When a file with a size of 0 is submitted, the subsequent flush operation fails because it cannot open the file to read its metadata. |
When a bulkload operation triggers a deletion compaction, all rows in the selected file are marked for deletion, which generates an empty file. |
V3.1 |
|
|
|
P2 |
A write operation fails for a Fixed plan if the global secondary index contains a boolean type. An error is reported when you create a global index and insert data: |
The fixed dispatcher does not support writing Boolean values to a |
V4.0.0 |
|
|
|
P2 |
A Holo FDW cross-instance query fails. After you upgrade to version 4.0, the following error is reported when you query a foreign table: |
The FDW fails to load the cached shard location value. |
V4.0.6 |
|
|
|
P2 |
Writing data from a data-masked table to a destination table with an auto-incrementing column causes unexpected behavior. In Hologres V4.0 and earlier, this operation may cause a coredump or abnormal error behavior. |
The code assumes a one-to-one mapping between |
V3.1 |
|
|
|
P2 |
The |
Although the |
V3.1 |
|
|
|
P2 |
An error occurs when you add a column to an existing Dynamic table by using the alter definition statement. If the base table is a physical partitioned table and the Dynamic Table (DT) is a logical partitioned table, executing the alter definition statement on the DT reports one of the following errors: |
During the creation process, a GUC parameter was set to ignore the query optimizer's partition number check, but this logic was not synchronized in the |
V3.1 |
|
|
|
P2 |
A duplicate primary key error is reported when you create an External Dynamic table. This occurs when the |
This issue affects both dynamic tables and external dynamic tables. The system table for a |
V4.0 |
V4.0.13 |
|
|
P2 |
An aggregate query on data of the char(n) type fails. After you enable AQE, executing the |
In ORCA, the |
V3.1 |
|
|
|
P2 |
Snapshot SQL execution fails when a view contains a subquery without an alias. If a view's |
When PostgreSQL infers the view definition SQL from the view rule, it does not enforce an alias for the subquery. If a user's view has a subquery without an alias, the inferred view definition SQL also lacks an alias, but the target list specifies one, which causes an SQL parsing failure. |
V4.0 |
|
|
|
P1 |
Duplicate records appear after grouping a Paimon Deletion Vector (DV) table by |
The Parquet decoder did not apply an offset when placing data, which caused incorrect data positioning when a record batch crossed a page boundary. |
V3.1.0 |
|
|
|
P2 |
After |
The Common Table access path and |
V3.0 |
|
|
|
P2 |
When Hologres queries MC data by using CommonTable, a slow memory leak occurs in the |
The |
V3.0 |
|
|
|
P1 |
On the probe side of a hash join, a |
During the mapping and pushdown process to the second child of the |
V3.1 |
|
|
|
P2 |
Dynamic tables that have been renamed or whose schemas have been altered cannot be automatically refreshed after an upgrade to Hologres V4.0.7 or a later version. The following error message is reported: |
A |
V4.0.7 |
|
|
|
P2 |
A |
Some unnecessary optimization steps in the query optimization phase for CTAS statements negatively impacted performance. |
V4.0 |
|
|
|
P1 |
Using the |
In |
V3.2 |
V3.2.24 |
|
|
P2 |
The number of out of memory (OOM) errors increases when you query foreign tables after switching from the normal link to the Common Table link. The following error is reported: |
Permission changes in the Common Table access path during Auto Analyze collection prevent the system from obtaining the table's last modified time. This prevents Auto Analyze from being triggered, leading to outdated statistics and |
|
|
|
|
P2 |
An error occurs in |
A patch moved the check for a non-existent table group to the |
V4.0 |
|
|
|
P2 |
A query results in an |
The execution class (EC) priority of the shuffle operation was lowered, preventing it from getting enough time slices when CPU usage was high. This slowed data retrieval on the build side, delayed |
Versions later than V4.0.x |
|
|
|
P1 |
The |
When the gateway reports login audit logs, it makes an additional call to |
All versions that support login audit logs |
V4.0.13 |
|
|
P2 |
An error is reported when you use preparestmt to execute a query that contains a clustering key: |
|
V1.1 |
|
|
|
P2 |
In rare cases, a coredump occurs when a query with a |
The |
V3.2.4 |
|
|
|
P2 |
After a TableGroup is unloaded, Holoweb login fails and the metadata warehouse reports the error |
When an unload occurs, new requests such as binlog or fixed plan requests on the old |
V3.2 |
V4.0.8 |
|
|
P2 |
In Hologres V3.1, after you enable auto refresh for a Dynamic Table, the container memory continuously increases when observed over a 7-day period. The FE memory increases while the holo worker memory remains stable. The memory also continuously increases when you repeatedly execute |
The UDF |
V3.1.0 |
|
|
|
P2 |
In an instance, two workers have higher memory usage than other workers, with no shard skew. Monitoring shows a significant difference in |
The DDL execution process has a |
All versions |
|
|
February 2026
|
Severity |
Description |
Cause |
Affected versions |
Fixed versions |
Workaround |
|
P1 |
An instance may briefly restart when you create a table with a name that contains spaces, special characters, and mixed-case letters. |
The instance coredumps because it reads an incorrect state when it retrieves table properties from a system table. |
|
|
|
|
P2 |
An error occurs when
|
A type conversion error causes the |
|
|
|
|
P1 |
If a virtual warehouse consumes a source table's binlog in lightweight connection mode without loading the Table Group of the source table, the instance may be unable to create new connections. This mode is active if the Flink source table parameter |
During initialization in lightweight connection mode, requests retry automatically because the current virtual warehouse has not loaded the Table Group. During these retries, the error-handling path incorrectly holds a global lock, which blocks new connection requests. |
|
|
|
|
P1 |
An incremental dynamic table that contains a stream-stream join may fail during its first refresh or when you run
If the table definition includes an aggregation based on the stream-stream join result, the aggregation result might be incorrect. |
The first incremental refresh may occasionally include recently deleted data in its calculation, leading to errors or incorrect results. |
|
|
|
|
P2 |
When the Note
For three-argument calls, |
A logic defect in the HQE engine affects two-argument calls to the |
|
|
|
January 2026
|
Severity |
Description |
Cause |
Affected versions |
Fixed versions |
Workaround |
|
P2 |
A query fails if it uses a
|
A mismatch between the output columns of the |
|
|
|
|
P2 |
Using the
|
The PQE execution engine does not support the |
|
|
Upgrade to the latest version. |
|
P1 |
Filtering on a |
An issue in the storage engine's segment key extraction logic causes incorrect filtering. |
|
|
Upgrade to the latest version. |
|
P1 |
After an upgrade to V4.0, memory usage continuously increases and does not stabilize or decrease, even when no queries are active. |
A memory leak occurs in the V4.0 result cache path when processing dictionary arrays. |
|
|
|
|
P2 |
When a CTE is reused, the system cannot generate a query plan and returns an error.
|
The query optimizer (QO) does not correctly update the CTE count, which causes the error. |
|
|
|
|
P2 |
Accessing array elements using range notation, such as |
A bug in the query optimizer's (QO) handling of array elements causes this error. |
|
|
Upgrade to the latest version. |
|
P1 |
Data may be missing from PQE results if the shard count exceeds the bucket count and the following conditions are met. This occurs when PQE output bypasses the shuffle phase and is directly used in
|
When a columnar table uses a primary key index, the plan generated by the query optimizer (QO) does not include a |
|
|
Upgrade to the latest version. |
|
P2 |
|
The rebuild process in older versions did not correctly handle case-sensitive identifiers. |
|
|
Upgrade to the latest version. |
|
P2 |
A subquery that contains a
|
A query optimizer bug prevents it from generating a valid plan for this scenario. |
|
|
|
|
P1 |
When a Flink job consumes Hologres binlog, if its source table is defined with a subset of columns from the physical table, the job may ingest unexpected |
The Hologres connector for Flink does not correctly handle binlog consumption with projected columns. |
|
|
|
|
P1 |
Completed queries may not be cleaned up correctly, leaving residual transactions that hold table locks. |
A defect in the garbage collection (GC) logic for some completed queries leads to residual query identifiers ( |
|
|
|
2025 defects
December 2025
|
Severity |
Description |
Cause |
Affected versions |
Fixed versions |
Workaround |
|
P0 |
Querying a DLF Paimon Postpone table reads uncompacted committed data, which can cause duplicate primary keys. |
The behavior of the Paimon
|
|
|
|
|
P1 |
When using a DLF foreign table with |
When the |
|
|
|
|
P1 |
Using a CTE expression produces inconsistent results between split and combined execution. |
When a CTE expression is used, the system fails to report an intermediate result failure to the FE, which leads to an incorrect final result. |
|
|
|
|
P1 |
Even when a user has the required permissions, queries on |
The system fails to report data for |
|
|
|
|
P0 |
During an incremental refresh of a dynamic table with a multi-stream join, if only one stream contains data and that data includes retractions, the refresh produces incorrect results compared to a direct query. |
During an incremental refresh of a dynamic table, data retraction from a single stream is not handled correctly. Consequently, the system does not remove rows that should be deleted from the result table, which makes the result table incorrect. |
|
|
|
|
P1 |
After an upgrade to V4.0, worker OOM errors may occur. The error messages are similar to the following:
|
To cache more data in memory, V4.0 optimizes the memory structure. However, the new structure has a defect when handling the Decimal type. When a table that contains Decimal columns participates in a hash join, the instance may generate a core dump. |
|
V4.0.10 |
|
|
P1 |
Queries on a non-empty MaxCompute Append Delta Table incorrectly return an empty result set. |
A bug in the split cache causes queries to return an empty result. |
|
V4.0.9 |
|
|
P0 |
In V4.0, when you use a logical partitioned table that has a primary key and a clustering key, duplicate primary key values can occur. |
To improve write performance for logical partitioned tables, V4.0 supports multi-partition flush. However, a bug in the cluster index processing logic during this operation can corrupt the cluster index in AliORC files (data files for internal columnar tables) stored on Pangu. A corrupted cluster index can make existing data unreadable. Consequently, during an update, the system fails to find the old data and inserts a new row, creating a duplicate. |
|
V4.0.9 |
|
|
P1 |
After an upgrade to V4.0, worker OOM errors may occur. The error messages are similar to the following:
|
To cache more data in memory, V4.0 optimizes the memory structure. However, the new structure miscalculates the data size, underestimating the memory required and causing a worker OOM. |
|
V4.0.7 |
|
November 2025
|
Level |
Description |
Cause |
Affected versions |
Fixed versions |
Workaround |
|
P1 |
In Flink real-time write scenarios, dropping a user and then recreating one with the same name and permissions may result in permission errors for the new user, even on a new connection. |
An issue with the user permission cache update strategy in the FixedFE component. |
|
|
|
|
P1 |
When using stream mode for an incremental refresh of a Dynamic Table, performing |
If |
|
|
|
|
P2 |
Running |
An incorrect default parameter is passed when rebalancing a general-purpose instance. |
|
|
|
|
P2 |
During a scaling operation, a |
The system is designed to convert a |
|
|
|
|
P2 |
After switching to the Common Table access path for MaxCompute, refreshing a Dynamic Table that uses a MaxCompute external table fails with the following error:
|
The method for passing a query plan for a Dynamic Table differs from that of a regular OLAP query. During transmission, the binary data of the plan is corrupted, causing the filter to fail parsing. |
|
|
|
|
P2 |
When using the standard PostgreSQL authorization model, even after a user is granted |
The identity used for the refresh is cached. After permissions change, subsequent refreshes incorrectly use the outdated cached identity, triggering the error. |
|
|
|
|
P2 |
Querying data in DLF with a range filter on a
|
The system mishandles the literal type, incorrectly treating it as a |
|
|
|
|
P2 |
When inserting fewer than 10 rows with a DML statement into a table whose primary key contains a boolean column, the following error occurs:
|
The query engine converts a boolean array to a |
|
|
|
|
P2 |
Using a remote UDF causes the following error:
|
The error is caused by a defect in the multi-threaded invocation handling logic. |
|
|
|
|
P1 |
When using stream mode for an incremental refresh of a Dynamic Table, a refresh that immediately follows a source table compaction can result in out-of-order incremental data. |
Out-of-order incremental events for the same key can cause incorrect results in the sink table. |
|
|
|
|
P1 |
When you use the
|
The binlog handling logic is incorrect during a |
|
To be fixed |
|
|
P2 |
When you use
|
The |
|
|
|
|
P2 |
If data masking is applied to the source table, the error message
|
The data masking settings are not passed to the |
|
|
|
|
P0 |
When you use higher-order array functions, if all elements in the result array are identical, the result may be incorrectly deduplicated to a single-element array. Examples:
|
A defect in the array calculation framework causes it to incorrectly handle arrays where all elements are identical. |
|
|
|
October 2025
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P0 |
When using the Table Resharding feature in HoloWeb, if a task fails and is then canceled, the system does not correctly clean up the temporary table. |
Defective cleanup function in HoloWeb. |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
The HG_MOVE_TABLE_TO_TABLE_GROUP (resharding) function fails if the target table name contains special characters or is a keyword. The function fails silently, leaving the table group unchanged. |
The HG_MOVE_TABLE_TO_TABLE_GROUP function incorrectly handles character escaping. |
Affected versions: All versions Fixed versions: None. See the workaround. |
Upgrade to V3.1 or later and use the Rebuild feature. |
|
P2 |
In pay-as-you-go bills for Hologres Serverless Computing resources, the instance ID field is incorrectly displayed as |
Underlying configuration issue. |
This issue is not version-specific and affects bills generated from The issue was resolved. Bills generated after |
Process bills from the affected time range separately. |
September 2025
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P0 |
During a |
The backend incorrectly processes multiple requests that complete at the same time. |
Affected version: V3.0.9. Fixed versions: V3.0.14 and later. |
Upgrade to the latest version. |
|
P0 |
When you import data from a Hologres foreign table to an internal table, the adaptive import feature can cause data loss if all the following conditions are met:
|
When foreign table reads fall back to the |
Affected versions:
Fixed versions:
|
Disable the
|
|
P1 |
After you configure
|
When |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P1 |
After you restart an instance, |
An issue in the backend scheduling system causes this behavior. |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P1 |
For a |
The system incorrectly handles the state transition of active partitions in a |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
When you configure a |
The |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
For a |
The system incorrectly handles |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
When you perform an |
When duplicate data is encountered, the |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
After an upgrade to V3.1, querying a |
This error occurs because the |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
When you use |
The |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
August 2025
|
Level |
Description |
Cause |
Versions |
Workaround |
|
P1 |
A
|
The cause was a defect in the |
Affected versions:
Fixed versions:
|
|
|
P1 |
When using Holo Client V2.6.0 to connect to a |
The cause was an issue with time zone handling in |
This issue is specific to |
Upgrade |
|
P0 |
In Hologres V3.1, an |
This occurred because data flushing failed when the |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
July 2025
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P2 |
When a data import job using Serverless Computing fails, it may leave undeleted intermediate files, increasing the instance's storage usage. |
The cleanup logic for intermediate files can occasionally fail. |
Affected: V3.1.1. Fixed in: V3.1.20 and later. |
|
|
P2 |
Querying data from an Iceberg foreign table by using Data Lake Formation (DLF) returns an empty result set. |
A file parsing error occurs when querying the Iceberg table, resulting in an empty result set. |
Affected: V3.1.1 to V3.1.16. Fixed in: V3.1.17 and later. |
Upgrade to the latest version. |
|
P2 |
When you query a table that contains a generated column, the query fails with the error
|
The query fails because the optimizer incorrectly translates the generated column. |
Affected: V3.1.1 to V3.1.16. Fixed in: V3.1.17 and later. |
Upgrade to the latest version. |
|
P1 |
When you create a Dynamic Table and the source query contains a BOOLEAN data type, the refresh operation fails with the error |
The refresh operation fails because the Dynamic Table feature incorrectly infers the data type for BOOLEAN fields. |
Affected: V3.1.1 to V3.1.15. Fixed in: V3.1.16 and later. |
Upgrade to the latest version. |
|
P2 |
After an upgrade to Hologres V3.1, the |
The |
Affected:
Fixed in:
|
Upgrade to the latest version. |
|
P2 |
In Hologres V3.1, dropping a Dynamic Table configured for incremental refresh does not delete its state table. |
Dropping a Dynamic Table that uses incremental refresh fails to clean up the associated state table. |
Affected: V3.1.1 to V3.1.12. Fixed in: V3.1.13 and later. |
Upgrade to the latest version. |
|
P2 |
Using 64-bit RoaringBitmap functions, such as |
Incorrect schema inference for 64-bit RoaringBitmap functions causes cross-schema queries to fail. |
Affected:
Fixed in:
|
Upgrade to the latest version. |
|
P2 |
Creating a Dynamic Table as a logical partitioned table fails if the base table has a
|
The failure is caused by incorrect inference of the |
Affected:
Fixed in:
|
Upgrade to the latest version. |
|
P2 |
If a materialized view on a single table contains a SUM(DECIMAL) aggregation, the instance may briefly restart. |
When calculating SUM(DECIMAL) for a materialized view, a memory misalignment issue can cause the instance to generate a core dump. |
Affected:
Fixed in:
|
Upgrade to the latest version. |
|
P1 |
After an upgrade to Hologres V3.0.41, querying a MaxCompute foreign table through the CommonTable access path causes a slow increase in memory usage. |
A memory leak occurs when querying MaxCompute foreign tables through the CommonTable access path. |
Affected:
Fixed in:
|
Upgrade to the latest version. |
|
P0 |
In certain concurrent scenarios, running DML operations with Serverless Computing on a table while executing TRUNCATE TABLE or DROP TABLE on the same table can cause read/write exceptions on the table's shard. This is caused by an internal engine state synchronization issue. |
A concurrency issue in the engine can cause an abnormal internal state within a shard, making it temporarily unable to serve read or write requests. This issue may also impact access to other tables. |
Affected:
Fixed in:
|
|
June 2025
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P1 |
A |
Concurrent |
Affected version: V3.0.1. Fixed versions: V3.0.28 and later. |
Upgrade to the latest version. |
|
P1 |
An |
An incompatibility between the JSONB columnar storage optimization and |
Affected version: V3.1.1. Fixed versions:
|
|
|
P2 |
An |
A processing error caused a core dump when refreshing a |
Affected version: V3.1.8. Fixed versions: V3.1.9 and later. |
Upgrade to the latest version. |
|
P2 |
In the |
None. |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P1 |
The property-based funnel function (
|
The |
Affected version: V3.0.40. Fixed versions: V3.0.41 and later. |
Upgrade to the latest version. |
|
P2 |
In a |
In a virtual warehouse instance, using PG_RELATION_SIZE to query the storage size results in an overestimated value, leading to an incorrect result. |
Affected version: V3.0.39. Fixed versions: V3.0.40 and later. |
Upgrade to the latest version. |
|
P2 |
In |
The incremental refresh process failed to correctly handle multiple duplicate rows within a single refresh operation. |
Affected version: V3.0.39. Fixed versions: V3.0.40 and later. |
Upgrade to the latest version. |
|
P2 |
The incremental refresh operation for a |
The incremental refresh process for multi-table joins could not correctly handle tables with an |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P1 |
An |
The |
Affected version: V3.1.1. Fixed versions: V3.1.9 and later. |
Clean the |
April 2025
|
Level |
Description |
Cause |
Affected, fixed versions |
Workaround |
|
P2 |
Fixed an issue where reading from a MaxCompute foreign table failed with an error: |
An interface conversion error occurred when reading the MaxCompute foreign table. |
Affected versions: V3.0.1 to V3.0.35. Fixed versions: V3.0.36 and later. |
Upgrade to the latest version. |
|
P2 |
Fixed an issue where using |
The |
Affected versions: V3.0.1 to V3.0.33. Fixed versions: V3.0.34 and later. |
Upgrade to the latest version. |
|
P2 |
Fixed an issue where a query on a data lake foreign table failed with an error: |
A data format conversion error occurred when reading the foreign table. |
Affected versions: V3.0.1 to V3.0.30. Fixed versions: V3.0.31 and later. |
Upgrade to the latest version. |
|
P1 |
Fixed an issue where using the |
A memory leak in the |
Affected versions: V3.0.1 to V3.0.29. Fixed versions: V3.0.30 and later. |
Upgrade to the latest version. |
|
P2 |
Fixed an issue where a CTE query containing a nested loop join failed with an error: |
The optimizer incorrectly deduced the join order. |
Affected versions: V3.0.1 to V3.0.27. Fixed versions: V3.0.28 and later. |
Upgrade to the latest version. |
|
P2 |
Fixed an issue where using the |
The optimizer incorrectly deduced the precision for the |
Affected versions: V3.0.1 to V3.0.25. Fixed versions: V3.0.26 and later. |
Upgrade to the latest version. |
|
P2 |
Fixed an issue where the |
|
Affected versions: V3.0.1 to V3.0.25. Fixed versions: V3.0.26 and later. |
Upgrade to the latest version. |
March 2025
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P2 |
Fixed an issue where using a window function, such as |
The window function incorrectly identified the |
Affected: V3.0.24 and earlier. Fixed: V3.0.25 and later. |
Upgrade to the latest version. |
|
P1 |
Fixed an issue that prevented a manually specified distribution key in a dynamic table from taking effect. |
An engine inference error caused the manually specified distribution key to be ignored. |
Affected: V3.0.24 and earlier. Fixed: V3.0.25 and later. |
Upgrade to the latest version. |
February 2025
|
Level |
Description |
Cause |
Affected and fixed versions |
Workarounds |
|
P1 |
When connecting to a Hologres instance with a BI or developer tool, unauthorized users can see database, schema, and table metadata. |
Access control for metadata is not sufficiently strict. |
Affected: V3.0.23 and earlier. Fixed: V3.0.24 and later. |
Upgrade to the latest version. |
|
P2 |
When joining a MaxCompute foreign table with a hologres_fdw foreign table, the query fails with the error |
A logic error occurs during shard pruning on an internal table during a join between a hologres_fdw foreign table and a MaxCompute foreign table. |
Affected: V3.0.22 and earlier. Fixed: V3.0.23 and later. |
Upgrade to the latest version. |
|
P2 |
After a Hologres instance is upgraded to V2.2, using the |
The query fails because the optimizer incorrectly infers the precision of the |
Affected: V2.2.22 and earlier. Fixed: V2.2.23 and later. |
Upgrade to the latest version. |
|
P2 |
When a data masking rule for an account is set to |
After a data masking rule is set, the system fails to correctly evaluate the rule for the account. |
Affected:
Fixed:
|
Upgrade to the latest version. |
|
P2 |
When consuming Hologres binary logs in JDBC mode, jobs may throw exceptions such as |
If a downstream Flink operator experiences backpressure during binary log consumption, data from the source table is not consumed promptly. This causes the backend to throw a timeout exception. The gateway then incorrectly forwards this exception to the client, causing the data consumption job to hang or fail with a parsing error. |
|
Upgrade to the latest version and restart the Flink job. |
|
P2 |
If column-oriented storage optimization is enabled for a |
A defect in the |
Affected:
Fixed:
|
|
January 2025
|
Level |
Description |
Cause |
Versions |
Workarounds |
|
P2 |
The array_agg function returns incorrect results when used in a window function. Example:
|
The array_agg function produces incorrect results with a window function due to a calculation logic error. |
Affected versions:
Fixed in:
|
Upgrade to the latest version. |
|
P2 |
Querying an external table fails if a column name contains uppercase characters:
|
A case conversion error causes queries on external tables with uppercase column names to fail. |
|
Upgrade to the latest version. |
|
P2 |
Querying a table in DLF fails if an OSS endpoint is not configured. The following error is reported:
|
Without a configured OSS endpoint, the system cannot route to the corresponding OSS table, causing the query to fail. |
|
Upgrade to the latest version. Note
After upgrading, you can query tables without configuring an OSS endpoint. |
2024 defects
December 2024
|
Level |
Description |
Cause |
Affected / Fixed versions |
Workaround |
|
P2 |
A full or incremental refresh of a dynamic table containing a DECIMAL field fails with the error |
The refresh fails because the system incorrectly infers the precision of the DECIMAL field. |
Affected: V3.0.16 and earlier. Fixed: V3.0.17 and later. |
|
|
P2 |
If the query schemas on both sides of a UNION ALL operator are inconsistent, the query fails with the error |
Incorrect schema inference for the UNION ALL operator causes this error. |
Affected: V3.0.16 and earlier. Fixed: V3.0.17 and later. |
Upgrade to the latest version. |
|
P2 |
Aggregating a SMALLINT field in a dynamic table during an incremental refresh causes an 'unsupported' error. |
The incremental refresh process for dynamic tables does not fully support the SMALLINT type. |
Affected: V3.0 to V3.0.16. Fixed: V3.0.17 and later. |
Upgrade to the latest version. |
|
P2 |
After you upgrade a virtual warehouse instance, queries fail with the error |
During a virtual warehouse upgrade, the system fails to update table metadata promptly. This causes subsequent queries to use outdated table metadata, leading to errors. |
Affected:
Fixed:
|
|
|
P1 |
After an upgrade to Hologres V3.0.12–V3.0.15, dynamic partitioning scheduling can fail for tables that use a TEXT partition key. This failure prevents the creation of new partitioned tables. |
The scheduling system mishandles TEXT partition keys, causing an internal conversion to fail. This, in turn, prevents table creation. |
Affected: V3.0.12 to V3.0.15. Fixed: V3.0.16 and later. |
Upgrade to the latest version. |
|
P1 |
After you upgrade Hologres to a version from V3.0 to V3.0.13, queries on MaxCompute foreign tables become slower. |
Hologres V3.0 introduced stricter permission checks for accessing MaxCompute table metadata. These new checks cause the frontend (FE) node to make multiple, redundant calls, degrading query performance on MaxCompute foreign tables. |
Affected: V3.0 to V3.0.13. Fixed: V3.0.14 and later. |
Upgrade to the latest version. |
November 2024
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P2 |
When you enable Binlog in Dynamic Table full refresh mode, the Refresh operation reports the error |
When the |
Affected versions: V3.0.11 and earlier. Fixed versions: V3.0.12 and later. |
Upgrade to the latest version. Note
We do not recommend enabling Binlog in full refresh mode because each full refresh is equivalent to executing |
|
P2 |
In the SLPM permission model, deleting and then recreating the Orafce extension causes an error: |
In the |
Affected versions: V3.0.9 and earlier. Fixed versions: V3.0.10 and later. |
|
|
P2 |
Refreshing a Dynamic Table that contains a Decimal field causes the error |
Incorrect precision inference for the |
Affected versions: V3.0.9 and earlier. Fixed versions: V3.0.10 and later. |
|
|
P2 |
For queries that run longer than 10 seconds, the |
Occasional reporting delays for queries that run longer than 10 seconds prevent the |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
Analyzing a table with the BIS type reports the error |
This issue occurs because support for analyzing BSI-type fields is incomplete. |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
After using |
The temporary table was not cleaned up because the cleanup mechanism was not triggered during the |
Affected versions: V2.2.30 and earlier. Fixed versions: V2.2.31 and later. |
Upgrade to the latest version. |
|
P2 |
On an |
Inconsistent |
Affected versions: V2.2.26 and earlier. Fixed versions: V2.2.27 and later. |
Upgrade to the latest version. |
|
P2 |
Executing an SQL statement that is too long and exceeds the limit causes the following error: |
Hologres limits the length of SQL statements to a default of 10,000,000 characters. |
Introduced in versions:
|
To remove the SQL length limit, set the following parameter:
|
September 2024
|
Level |
Description |
Cause |
Affected/fixed versions |
Workaround |
|
P1 |
A concurrent DDL operation on a table may cause a query to hang if it is executed after the database's first DML transaction. |
The first DML transaction in a database acquired a table lock. A subsequent, concurrent DDL operation on the same table then caused the system to enter a creation loop, leading to a deadlock that hung the query. |
Affected versions: V2.2.24 and earlier. Fixed versions: V2.2.25 and later. |
Upgrade to the latest version. |
|
P2 |
For a Hologres table that contains a field of the roaringbitmap type, when you use the |
Foreign tables for cross-database queries do not support the roaringbitmap type. This should have been validated when the foreign table was created. |
Affected versions: V2.2.24 and earlier. Fixed versions: V2.2.25 and later. |
Upgrade to the latest version. Note
After the upgrade, if a foreign table in a cross-database query contains a roaringbitmap type, the query fails with an error indicating that the type is not supported. |
|
P2 |
Using the JDBC
|
Repeatedly running the |
Affected versions:
Fixed versions:
|
|
|
P2 |
The values of |
The metadata warehouse incorrectly reported the |
Affected versions: V2.2.22 and earlier. Fixed versions: V2.2.23 and later. |
Upgrade to the latest version. |
|
P2 |
Restarting the primary virtual warehouse can slow down point queries on a secondary virtual warehouse. |
When the primary virtual warehouse restarted, shards in the secondary virtual warehouse continuously polled the primary shard's status. This polling caused point queries to hang until all shards recovered. |
Affected versions: V2.2.21 and earlier. Fixed versions: V2.2.22 and later. |
Upgrade to the latest version. |
|
P2 |
The |
The function mishandled a data overflow condition. |
Affected versions: V2.1.1 and later. Fixed versions: Pending. |
|
|
P2 |
New connections to a Hologres instance may occasionally time out or hang. |
A process within a node occasionally hangs, which prevents that node from creating new connections. |
Affected versions: V2.2.22 and earlier, V2.1.42 and earlier, V2.0.45 and earlier, and V1.3.70 and earlier. Fixed versions: The following versions and later: V3.0.4, V2.2.23, V2.1.43, V2.0.46, and V1.3.71. |
|
August 2024
|
Level |
Description |
Cause |
Affected and fixed |
Workaround |
|
P2 |
When a virtual warehouse becomes unavailable (for example, while restarting), latency increases for point queries from other virtual warehouses on tables in a table group loaded by that warehouse. |
A bug in an internal module of the real-time read/write path causes a virtual warehouse to wait for the table group status during point queries, increasing latency. |
Affected: V2.1.1 to V2.2.21. Fixed: V2.2.22 and later. |
Upgrade to the latest version. |
|
P1 |
Using Fixed Plan for real-time writes at over 1 million QPS creates a small risk of write failures and instance restarts. |
A bug in the memory manager of the real-time read/write path. |
Affected:
Fixed:
|
Upgrade to the latest version. |
July 2024
|
Level |
Description |
Cause |
Affected versions |
Workaround |
|
P1 |
A Flink job reading Hologres binary logs in |
An issue in how the gateway returns a backend timeout exception to the client causes data reading to hang or fail with a parsing error. |
Affected: V1.3 and later. Fixed: V2.2.21 and later. |
Restart the Flink job from the latest checkpoint and upgrade to the latest version. |
|
P2 |
In V2.2 and later, the Parallel Query Engine (PQE) executes
|
The system incorrectly infers the execution plan for |
Affected: V2.2.1 to V2.2.18. Fixed: V2.2.19 and later. |
|
|
P2 |
In the slow query log (the |
The system collects the |
Affected: V2.2.1 to V2.2.18. Fixed: V2.2.19 and later. |
Upgrade to the latest version. |
|
P2 |
When writing to a partitioned child table, if the
|
When you write to a partitioned child table and the |
Affected: V2.2.1 to V2.2.18. Fixed: V2.2.19 and later. |
Upgrade to the latest version. |
|
P2 |
When the time zone is explicitly set to
|
PQE incorrectly calculates the time zone from the connection string when parsing date functions. |
Affected: V2.2.1 to V2.2.18. Fixed: V2.2.19 and later. |
Upgrade to the latest version. |
|
P2 |
Calling the |
The |
Affected: V2.2.1 to V2.2.18. Fixed: V2.2.19 and later. |
Upgrade to the latest version. |
|
P0 |
When you use dynamic partition management and set |
Starting from V2.2, the dynamic partition management feature supports a custom scheduling start time, but the time calculation for monthly partitions is incorrect. |
Affected: V2.2.1 to V2.2.17. Fixed: V2.2.18 and later. |
Upgrade to the latest version. |
June 2024
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P1 |
Executing the and |
Since V2.2, MaxCompute foreign table operations have required authentication through a service-linked role (SLR). However, due to an implementation issue, users who had already created an SLR encountered an access failure when executing the and |
Affected versions: V2.2.1 to V2.2.14. Fixed versions: V2.2.15 and later. |
Upgrade to the latest version. |
|
P1 |
If a source table contains duplicate data, executing an |
During an |
Affected versions: V2.2.13 and earlier. Fixed versions: V2.2.14 and later. |
Upgrade to the latest version. |
|
P2 |
When using Flink to read data from Paimon and write it to Hologres,
|
Hologres incorrectly converts Paimon |
Affected versions: V2.2.12 and earlier. Fixed versions: V2.2.13 and later. |
Upgrade to the latest version. |
|
P2 |
The
|
To use an index, PostgreSQL defines comparison rules that treat NaN values as equal to each other and greater than any non-NaN value. However, Hologres follows the C++ standard comparison rules, where NaN values are not equal to each other. This discrepancy causes the results to be inconsistent with PostgreSQL. |
Affected versions: V2.1.37 and earlier. Fixed versions:
|
Upgrade to the latest version. |
May 2024
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P2 |
Using Fixed Plan for a point query with multiple identical primary key conditions, such as |
Fixed Plan failed to deduplicate multiple filter conditions for the same primary key. |
Affected versions: V2.2.8 and earlier. Fixed versions: V2.2.9 and later. |
|
|
P1 |
Performing a schema change during a rebalance can prevent the instance from processing writes and queries. |
A rebalance triggers a switch between a shard's leader and follower if the replication delay is less than 10 seconds. If a user performs a schema change during this switch, the storage engine can enter an abnormal state. This prevents the instance from processing write and query operations. In Hologres V2.1, this issue is more likely because the system automatically triggers a rebalance when an instance has an empty worker node. |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
After you upgrade a Hologres instance to V2.1.25 or later, the system fails to automatically clean up temporary tables generated by an |
A detection oversight during the execution of an |
Affected versions: V2.1.25 to V2.1.32. Fixed versions: V2.1.33 and later. |
|
|
P2 |
When you use FixedFE (which corresponds to the |
FixedFE failed to promptly refresh its cache when permissions changed in the SLPM model. As a result, FixedFE reported the error even though the user already had the required permissions. |
Affected versions: V2.0.31 and earlier Fixed versions: V2.0.32 and later. |
Upgrade to the latest version. |
April 2024
|
Level |
Description |
Cause |
Versions |
Workaround |
|
P2 |
When you use the |
The function contains a logic bug. |
Affected version: V2.0.31. Fixed versions: V2.1.27 and later. |
Upgrade to the latest version. |
|
P2 |
After a Hologres instance is upgraded to V2.1.26, the query memory usage metric shows a slow and continuous increase. |
After the upgrade to V2.1.26, when a query encounters an OOM error, its memory usage is counted multiple times. This causes the corresponding monitoring metric to appear inflated. Note
The actual memory usage of the instance does not increase. The issue is caused by a miscalculation in the monitoring statistics. |
Affected version: V2.1.26. Fixed versions: V2.1.27 and later. |
Upgrade to the latest version. |
|
P1 |
After a Hologres instance is upgraded to V2.1, querying a MaxCompute foreign table may cause a gradual increase in memory usage, fluctuations in query performance, or an increase in OOM errors. |
When you query a MaxCompute foreign table on a V2.1 instance, the system does not close open files promptly. This leads to a gradual increase in memory usage, which in turn affects query performance and instance stability. |
Affected versions: V2.1.1 to V2.1.25. Fixed versions: V2.1.26 and later. |
Upgrade to the latest version. |
|
P2 |
In V2.1, the storage usage of primary-secondary and virtual warehouse instances increases, where the total usage from monitoring metrics exceeds the value calculated by the |
The system does not promptly reclaim old files from V2.1 primary-secondary or virtual warehouse instances. This leads to storage growth and inflates the monitored storage amount. |
Affected versions: V2.1.1 to V2.1.25. Fixed versions: V2.1.26 and later. |
Upgrade to the latest version. |
|
P1 |
When a Flink job consumes the Hologres binary log in JDBC mode, the consumption rate is high at startup but then continuously decreases over time. |
A memory leak occurs when a Flink job consumes the Hologres binary log in JDBC mode. |
Affected versions: VVR versions earlier than V6.0.7. Fixed versions: VVR V6.0.7 and later. |
Upgrade to the latest version. |
March 2024
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P0 |
Query resources are not released, which leads to the following issues:
|
When a query involves only shard data and uses PQE or SQE to query a MaxCompute foreign table or a data lake foreign table, the system does not automatically release resources after the query completes. Only the garbage collection mechanism of the Query Master can reclaim these resources. When the Query Master is under heavy load, delayed exits cause query operations to hold excessive resources, blocking subsequent queries. |
Affected versions: V2.1.23 to V2.1.24. Fixed versions: V2.1.25 and later. |
Upgrade to the latest version. |
|
P1 |
Adding a bitmap to a dictionary-encoded, not-null column returns incorrect results, including null values. |
When building a bitmap for a dictionary-encoded column, the backend fails to apply the bitmap to all data, which causes incorrect results. |
Affected versions: V2.1.21 and earlier. Fixed versions: V2.1.22 and later. |
Upgrade to the latest version. |
|
P1 |
Using Fixed Plan for real-time data writes or point queries causes the instance's memory usage to gradually increase. |
In Hologres V2.1, the Fixed Plan execution engine was refactored. The operators it creates for read-write tables are not cleaned up promptly, which causes a memory leak. |
Affected versions: V2.1.1 to V2.1.9. Fixed versions: V2.1.10 and later. |
Upgrade to the latest version. |
|
P1 |
Canceling a query running on PQE may trigger a process deadlock on the corresponding PQE node, preventing it from handling new PQE requests. |
Receiving a cancel signal can trigger a defect in the PQE I/O concurrency control feature. This issue affects all PQE processes. |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
The INTERSECT or EXCEPT function returns incorrect results when shard pruning is active. For example, when shard pruning is active, running the following example SQL may return an incorrect result.
|
The INTERSECT or EXCEPT function is currently implemented using JOIN. During shard pruning, the handling of these functions can generate an incorrect execution plan, resulting in incorrect query results. |
Affected versions: V2.1.21 and earlier. Fixed versions: V2.1.22 and later. |
Upgrade to the latest version. |
|
P2 |
When a PQE process exits, it may hang. This can accumulate over time and prevent PQE from handling new requests. |
When a PQE process exits, a concurrency issue between the RPC exit thread and the main thread prevents the RPC exit thread from completing. This in turn prevents the PQE process from exiting cleanly. |
Affected versions: V2.1.0 to V2.1.14. Fixed versions: V2.1.15 and later. |
Upgrade to the latest version. |
|
P2 |
When concurrent queries are run on PQE, the instance may briefly restart. |
In Hologres V2.0 and earlier versions, PQE has a multi-threaded concurrency issue that can cause a core dump in the instance. |
Affected versions: V2.0 and earlier. Fixed versions: V2.1.0 and later. |
Upgrade to the latest version. |
|
P2 |
When an SQL statement containing |
The optimizer generates an incorrect execution plan, which can cause a core dump in the instance. |
Affected versions: V2.0 and earlier. Fixed versions: V2.1.0 and later. |
Upgrade to the latest version. |
February 2024
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P2 |
Converting a TEXT type to a BIT type and then to a BIGINT type fails with the error:
|
Incomplete support for converting the TEXT type to the BIT type causes the error: |
Affected versions: V2.1.20 and earlier Fixed versions: V2.1.21 and later |
Upgrade to the latest version. |
|
P2 |
Setting the clustering key of a row-oriented table with a primary key to an empty string causes a metadata inconsistency and makes queries hang. Example table creation SQL:
|
If a row-oriented table's clustering key is an empty string and differs from its primary key, the FE node fails to respond to requests. This results in a metadata inconsistency and causes queries to hang. |
Affected versions: V2.1.20 and earlier Fixed versions: V2.1.21 and later |
|
|
P2 |
A query returns an incorrect result if its filter condition (WHERE clause) contains the clustering key and
|
When a filter condition contains a clustering key and |
Affected versions: V2.1.19 and earlier Fixed versions: V2.1.20 and later |
Upgrade to the latest version. |
|
P1 |
In Hologres V2.1, instance memory usage slowly increases, and queries on MaxCompute foreign tables occasionally fail with an |
After an instance is upgraded to V2.1, it fails to promptly close the underlying data files of foreign tables. This causes a memory leak and occasionally triggers an instance restart. |
Affected versions: V2.1.10 to V2.1.18 Fixed versions: V2.1.19 and later |
Upgrade to the latest version. |
|
P2 |
Multiplying DECIMAL type values produces a result with incorrect precision. Example SQL:
|
The default decimal precision for DECIMAL type multiplication is 18. If the multiplication of two DECIMAL types produces a result with more than 18 decimal places, the system truncates the data before calculation, leading to an incorrect result. |
Affected versions: V2.1.18 and earlier Fixed versions: V2.1.19 and later |
|
January 2024
|
Level |
Description |
Cause |
Affected and fixed versions |
Workaround |
|
P2 |
After upgrading to Hologres V2.1, executing an |
In Hologres V2.1, the FrontEnd component incorrectly set an excessively long replay cache time. This slowed DDL replay for DML operations following a DDL operation. |
Affected versions: V2.1.1 to V2.1.14. Fixed versions: V2.1.15 and later. |
Upgrade to the latest version. |
|
P2 |
The
|
An incorrect pushdown occurs when the |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
Using the |
The |
Affected versions: V2.1.1 to V2.1.12. Fixed versions: V2.1.13 and later. |
Upgrade to the latest version. |
|
P2 |
Queries using |
Hologres uses lazy loading for a full table scan with a LIMIT clause. The query hangs because the scan reads too much data at once. |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |
|
P2 |
After an instance restart, upgrade, or scaling, MaxCompute tasks that directly read from Hologres foreign tables can occasionally hang. |
After an instance restart, the system refreshes the table metadata. The task hangs because MaxCompute fails to retrieve the updated metadata status in time during a direct read. |
Affected versions:
Fixed versions:
|
Upgrade to the latest version. |