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)

Reply via email to