You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2023/01/03 19:38:00 UTC
[jira] [Commented] (IMPALA-11811) Avoid storing unregistered predicate objects in a Map
[ https://issues.apache.org/jira/browse/IMPALA-11811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17654164#comment-17654164 ]
ASF subversion and git services commented on IMPALA-11811:
----------------------------------------------------------
Commit 11068d9aebd83be59773f2b1eaa5682053d4428b in impala's branch refs/heads/master from Andrew Sherman
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=11068d9ae ]
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 <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
> Avoid storing unregistered predicate objects in a Map
> -----------------------------------------------------
>
> Key: IMPALA-11811
> URL: https://issues.apache.org/jira/browse/IMPALA-11811
> Project: IMPALA
> Issue Type: Bug
> Components: fe
> Affects Versions: Impala 1.4.2
> Reporter: Andrew Sherman
> Assignee: Andrew Sherman
> Priority: Major
>
> 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.
> This can happen if the conjuncts are bound predicates (produced by getBoundPredicates()) which are explicitly not registered.
> Change extractIcebergConjuncts() to track the identity conjuncts in another way, perhaps using a boolean array which tracks the index of the identity conjuncts in conjuncts_ List.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org