Files
impala/testdata/workloads/functional-query/queries/QueryTest
Andrew Sherman 11068d9aeb IMPALA-11811: Avoid storing unregistered predicate objects in a Map
Within the extractIcebergConjuncts() method we are tracking conjuncts
which are identity conjuncts by storing them in a temporary Map. The
conjuncts are Expr objects which have a hashCode() method based on
their id_ field, which is only present when they are registered. If the
id_ field is null, then the hashCode() will throw, and hence
unregistered predicates cannot be stored in a Map. Some predicates
produced by getBoundPredicates() are explicitly not registered.

Change extractIcebergConjuncts() to track the identity conjuncts using
a boolean array, which tracks the index of the identity conjuncts in
conjuncts_ List.

Print the name of the Class in the Expr.hashCode() error to aid future
debugging.

TESTING:

Add a query which causes an unregistered predicate Expr to be seen
during Iceberg scan planning.

Change-Id: I103e3b8b06b5a1d12214241fd5907e5192d682ce
Reviewed-on: http://gerrit.cloudera.org:8080/19390
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
2023-01-03 19:01:34 +00:00
..
2021-07-06 18:35:30 +00:00
2022-02-11 07:01:58 +00:00