You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Andrew Sherman (Code Review)" <ge...@cloudera.org> on 2022/12/24 17:06:08 UTC

[Impala-ASF-CR] IMPALA-11811: Avoid storing unregistered predicate objects in a Map

Andrew Sherman has uploaded this change for review. ( http://gerrit.cloudera.org:8080/19390


Change subject: IMPALA-11811: Avoid storing unregistered predicate objects in a Map
......................................................................

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
---
M fe/src/main/java/org/apache/impala/analysis/Expr.java
M fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java
M testdata/workloads/functional-query/queries/QueryTest/iceberg-query.test
3 files changed, 20 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/90/19390/1
-- 
To view, visit http://gerrit.cloudera.org:8080/19390
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I103e3b8b06b5a1d12214241fd5907e5192d682ce
Gerrit-Change-Number: 19390
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Sherman <as...@cloudera.com>

[Impala-ASF-CR] IMPALA-11811: Avoid storing unregistered predicate objects in a Map

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19390 )

Change subject: IMPALA-11811: Avoid storing unregistered predicate objects in a Map
......................................................................


Patch Set 1:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/12063/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/19390
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I103e3b8b06b5a1d12214241fd5907e5192d682ce
Gerrit-Change-Number: 19390
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Sherman <as...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Comment-Date: Sat, 24 Dec 2022 17:25:38 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-11811: Avoid storing unregistered predicate objects in a Map

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19390 )

Change subject: IMPALA-11811: Avoid storing unregistered predicate objects in a Map
......................................................................


Patch Set 2:

Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/8942/ DRY_RUN=false


-- 
To view, visit http://gerrit.cloudera.org:8080/19390
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I103e3b8b06b5a1d12214241fd5907e5192d682ce
Gerrit-Change-Number: 19390
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Sherman <as...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <bo...@cloudera.com>
Gerrit-Comment-Date: Tue, 03 Jan 2023 13:52:58 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-11811: Avoid storing unregistered predicate objects in a Map

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19390 )

Change subject: IMPALA-11811: Avoid storing unregistered predicate objects in a Map
......................................................................


Patch Set 2: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/19390
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I103e3b8b06b5a1d12214241fd5907e5192d682ce
Gerrit-Change-Number: 19390
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Sherman <as...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <bo...@cloudera.com>
Gerrit-Comment-Date: Tue, 03 Jan 2023 13:52:57 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-11811: Avoid storing unregistered predicate objects in a Map

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19390 )

Change subject: IMPALA-11811: Avoid storing unregistered predicate objects in a Map
......................................................................


Patch Set 2: Verified+1


-- 
To view, visit http://gerrit.cloudera.org:8080/19390
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I103e3b8b06b5a1d12214241fd5907e5192d682ce
Gerrit-Change-Number: 19390
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Sherman <as...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <bo...@cloudera.com>
Gerrit-Comment-Date: Tue, 03 Jan 2023 19:01:32 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-11811: Avoid storing unregistered predicate objects in a Map

Posted by "Zoltan Borok-Nagy (Code Review)" <ge...@cloudera.org>.
Zoltan Borok-Nagy has posted comments on this change. ( http://gerrit.cloudera.org:8080/19390 )

Change subject: IMPALA-11811: Avoid storing unregistered predicate objects in a Map
......................................................................


Patch Set 1: Code-Review+2

Thanks for fixing this! LGTM!


-- 
To view, visit http://gerrit.cloudera.org:8080/19390
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I103e3b8b06b5a1d12214241fd5907e5192d682ce
Gerrit-Change-Number: 19390
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Sherman <as...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <bo...@cloudera.com>
Gerrit-Comment-Date: Tue, 03 Jan 2023 13:52:28 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-11811: Avoid storing unregistered predicate objects in a Map

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/19390 )

Change subject: IMPALA-11811: Avoid storing unregistered predicate objects in a Map
......................................................................

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>
---
M fe/src/main/java/org/apache/impala/analysis/Expr.java
M fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java
M testdata/workloads/functional-query/queries/QueryTest/iceberg-query.test
3 files changed, 20 insertions(+), 6 deletions(-)

Approvals:
  Impala Public Jenkins: Looks good to me, approved; Verified

-- 
To view, visit http://gerrit.cloudera.org:8080/19390
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I103e3b8b06b5a1d12214241fd5907e5192d682ce
Gerrit-Change-Number: 19390
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Sherman <as...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <bo...@cloudera.com>