Review the list of Impala issues that are resolved in Cloudera Runtime
7.3.1, its service packs and cumulative hotfixes.
Cloudera Runtime 7.3.1.400 SP2:
CDPD-84214: User authentication consistency for Impala
queries
Impala queries previously failed with an authorization error,
indicating a mismatch between the user authorized on the Knox connection and the session
username. This issue occurred intermittently, typically on the first attempt when
running Iceberg queries, especially when cookie-based authentication was used after an
initial secure authentication setup.
This issue was resolved by ensuring that user identity is
correctly maintained during cookie-based authentication, even after initial secure
setup. This prevents mismatches in user verification, allowing queries to proceed
without authorization errors.
CDPD-68079: Catalog Object Cache Size Calculation in JDK
11+
7.3.1.300
An error occurred in JDK 11+ where the catalog
object cache incorrectly calculated the size of an object, resulting in an exception
message:
java.lang.reflect.InaccessibleObjectException: Unable to make field private jdk.internal.platform.cgroupv1.CgroupV1SubsystemController jdk.internal.platform.cgroupv1.CgroupV1Subsystem.cpu accessible.
The issue has been resolved.
CDPD-80169: File metadata reload incorrectly skipped on ALTER
TABLE
7.3.1.300
Impala skipped reloading file metadata on ALTER
TABLE events if changes in the StorageDescriptor were
trivial, even when table properties had important changes like a new location.
The fix includes updating the logic to ensure file metadata
reload is not skipped when table properties have non-trivial changes.
CDPD-80168: Missing tables in Top-N memory usage list on Web
UI
7.3.1.300
Some tables did not appear in the Top-N Tables list on the
/catalog Web UI after metadata loading, such as from a
DESCRIBE command. The memory metrics were only updated when a FULL
Thrift object was requested.
The fix includes updating memory usage metrics immediately after
metadata is loaded for an HDFS table, regardless of the Thrift object type
requested.
CDPD-79017: Fixed lost exceptions during re-analysis
failures
7.3.1.200
When an AnalysisException occurs during
re-analysis, calling toSql() throws another exception, causing the
original exception to be lost.
The issue was addressed by ensuring the original exception is
not lost when an error occurs during query re-analysis. Now, the error message properly
logs the root cause instead of being replaced by another exception.
CDPD-78366: Session management for Hue logins with Impala
7.3.1.100
When logging into the Hue web UI, users occasionally encountered
the following
error:
The user authorized on the connection 'hue/gateway0.xyz.site@XYZ.SITE' does not match the session username 'hue/gateway1.xyz.site@XYZ.SITE'
This issue arised when a Hue user’s request was routed to a different
Hue backend other than the one that initiated the original HS2 session with Impala.
With Kerberos authentication, Impala restricts session reuse across different hosts or
realms, even if the user remains the same.
To address this, proxy clients like Hue can now reuse HS2
sessions across multiple hosts or realms. This is allowed as these proxy clients can be
trusted. This improvement enhances session management and ensures a smoother user
experience when using Hue.
CDPD-78368: Executor crash during runtime filter generation
7.3.1.100
Enabling the MIN_MAX runtime filter in nested
loop Joins for certain queries caused out-of-bounds access, leading to executor crashes
that prevented any queries from running, disrupting production.
The issue is resolved by ensuring ScalarExprEvaluator properly
calls the Open() function, preventing out-of-bounds access and stabilizing query
execution.
CDPD-78170: Boolean literals in OR conditions are not simplified
as expected
7.3.1.100
Impala currently fails to simplify expressions like "id = 0 OR
false" to "id = 0". The root cause is that the CompoundPredicate generated by
NormalizeExprsRule is not analyzed, preventing SimplifyConditionalsRule from applying
the expected rewrite.
This fix addresses the issue by ensuring that the rewritten
CompoundPredicate is analyzed properly, allowing boolean literals in AND/OR conditions
to be simplified as expected.
CDPD-78177: Conjunct registration issue during query rewrite in
Impala
7.3.1.100
This issue, introduced in version Cloudera Base on premises7.1.9, caused some queries with
expressions that could be rewritten to false to fail with an
IllegalStateException: Illegal reference to non-materialized
slot
The issue was addressed by reverting an optimization that
skipped registering certain conjuncts, ensuring proper registration and assignment
during query analysis.
CDPD-78353: Failed table loads not retried after metastore
recovery
7.3.1.100
Tables failed to load when the metastore was down, and queries
continued to fail even after the metastore was back up, requiring manual
invalidation.
The system now automatically retries loading failed tables when
a query is executed, ensuring successful loads once the metastore is up, without manual
intervention.
CDPD-78175: Incorrect results due to predicate pushdown in join
condition
7.3.1.100
Impala can incorrectly push predicates to scan nodes, causing
wrong results in some join scenarios. For example, a query that should return 0 rows may
return incorrect results when specific predicates are used.
Removing analytic predicates with self-referencing TupleIds
during query execution prevents incorrect pushdown and resolves the issue.
CDPD-78564: Partition value mismatch during INSERT event
processing
7.3.1.100
Impala failed to process some INSERT events due to partition
value mismatches. Hive encodes partition strings in file paths using URL encoding, but
partition strings in HMS events are not encoded. Impala mismatched partitions during HMS
events processing by decoding them incorrectly, causing event processing failures.
The fix includes decoding partition strings only when derived
from file paths and not from HMS events to ensure accurate partition
mapping.
CDPD-78559: Prometheus metric name incompatibility with JDK11
and JDK17
7.3.1.100
Impala metrics derived from JVM MemoryPoolMXBean names contain
apostrophe characters in JDK11 and JDK17. Since Prometheus does not support apostrophes
in metric names, these metrics cannot be consumed by Prometheus.
To address the issue, apostrophes in Prometheus metric names are
now automatically translated to underscores, ensuring compatibility with Prometheus
requirements.
CDPD-78161: Database deletion during metadata fetch
7.3.1.100
Running SHOW DATABASES in Impala while simultaneously dropping a
database in Hive caused an InconsistentMetadataFetchException due to
missing database metadata.
Improved exception handling for operations listing databases and
tables. If a database is dropped during metadata fetch, the operation now handles the
missing database.
CDPD-78363: DDL hangs with SYNC_DDL when Catalogd switches to
standby
7.3.1.100
When Catalogd changes from active to standby while waiting for
SYNC_DDL version, it stops receiving catalog topic updates from the statestore. This
caused DDL queries to hang indefinitely.
To address the issue, Catalogd now regenerates its service ID
when changing to standby and throws an exception if the service ID changes while waiting
for SYNC_DDL version.
CDPD-78365: Queries canceled after statestore failover
7.3.1.100
Queries were canceled after a statestore failover due to
temporary inconsistencies. While a grace period was already in place for statestore
restarts, failovers were not handled the same way.
The fix applies the existing post-recovery grace period to
statestore failovers, preventing query cancellations caused by temporary
disruptions.
CDPD-78563: Configurable TCP keepalive for client
connections
7.3.1.100
Client connections get lost without an explicit close due to
machine resets, network disruptions, or load balancer idle timeouts, leading to resource
leaks in Impala.
To address this, new startup options allow you to enable and
configure TCP keepalive settings for client connections. These options help detect and
close dead connections, preventing premature disconnections.
This fix addresses a deadlock issue in long-running sessions
with an active idle_query_timeout, which caused new queries to hang and
prevented existing queries from expiring.
Some local file descriptors not released when using remote
spilling
7.3.1
The issue that occurred during remote spilling when writing
spilled data to local buffers has been fixed. The disk space occupied by the file can
now be reclaimed.
Handle empty string in StringValue::LargestSmallerString
7.3.1
StringValue::LeastSmallerString() did not
account for empty strings, causing potential exceptions by using an invalid length.
The function now checks if the string is empty and returns an
empty string if so. The function was also renamed to
LargestSmallerString() to clarify its purpose.
Event processing without
hms_event_incremental_refresh_transactional_table
7.3.1
Fix event processor, which is not synching file metadata for
non-partitioned ACID tables when incremental refresh on transactional tables is turned
off.