Peter Rozsa created IMPALA-12580:
------------------------------------
Summary: Iceberg predicate filtering fails with
UnsupportedOperationException
Key: IMPALA-12580
URL: https://issues.apache.org/jira/browse/IMPALA-12580
Project: IMPALA
Issue Type: Improvement
Components: fe
Affects Versions: Impala 4.3.0
Reporter: Peter Rozsa
Assignee: Peter Rozsa
If a SELECT contains a predicate that is a candidate for propagation like "a =
10 and b = a", the optimizer replaces these predicates with a new one, where
the id of the predicate is null.
There's a check in the Expr's hashCode implementation, if the id of the
expression is null, we throw an UnsupportedOperaionException.
The problem surfaced after IMPALA-12089, to fixthis problem, proper cloning and
id generation should be used for every expression.
([https://github.com/apache/impala/blob/6e90dafcf4b8528061c5ae20933e112c355da834/fe/src/main/java/org/apache/impala/analysis/Analyzer.java#L2519)]
To avoid this problem for Iceberg expression, a quick fix can be applied by
replacing the collection of expressions from toSet() to toList()
--
This message was sent by Atlassian Jira
(v8.20.10#820010)