Riza Suminto has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21483 )

Change subject: IMPALA-12800: Use HashMap for ExprSubstitutionMap lookups
......................................................................


Patch Set 2:

(9 comments)

http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/BinaryPredicate.java
File fe/src/main/java/org/apache/impala/analysis/BinaryPredicate.java:

http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/BinaryPredicate.java@428
PS2, Line 428: Objects.hash(super.localHash(), op_);
I think this should also include isInferred_ and betweenExprId_


http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/CaseExpr.java
File fe/src/main/java/org/apache/impala/analysis/CaseExpr.java:

http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/CaseExpr.java@204
PS2, Line 204: isDecode()
Should this be decodeExpr_?


http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/CompoundPredicate.java
File fe/src/main/java/org/apache/impala/analysis/CompoundPredicate.java:

http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/CompoundPredicate.java@123
PS2, Line 123: Objects.hash(super.localHash(), op_);
Include betweenSelectivity_?


http://gerrit.cloudera.org:8080/#/c/21483/1/fe/src/main/java/org/apache/impala/analysis/ExprSubstitutionMap.java
File fe/src/main/java/org/apache/impala/analysis/ExprSubstitutionMap.java:

http://gerrit.cloudera.org:8080/#/c/21483/1/fe/src/main/java/org/apache/impala/analysis/ExprSubstitutionMap.java@48
PS1, Line 48: HashMap
Question: is 2 List + 1 HashMap still faster for expression substitution rather 
than using just 1 LinkedHashMap?
I'm guessing yes.


http://gerrit.cloudera.org:8080/#/c/21483/1/fe/src/main/java/org/apache/impala/analysis/ExprSubstitutionMap.java@204
PS1, Line 204: if (BackendConfig.INSTANCE.isReleaseBuild()) return;
Move this after L207? The Preconditions are probably light enough to evaluate 
multiple times.


http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java
File fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java:

http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java@257
PS2, Line 257: params_.isDistinct(), params_.isIgnoreNulls(), params_.isStar()
Maybe define this as FunctionParams.localHash() ?


http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/OrderByElement.java
File fe/src/main/java/org/apache/impala/analysis/OrderByElement.java:

http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/OrderByElement.java@105
PS2, Line 105: public int hashCode() {
             :     return Objects.hash(getClass(), nullsFirstParam_, expr_, 
isAsc_);
             :   }
Is expr_ included here because it it not child expression?


http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/SlotRef.java
File fe/src/main/java/org/apache/impala/analysis/SlotRef.java:

http://gerrit.cloudera.org:8080/#/c/21483/2/fe/src/main/java/org/apache/impala/analysis/SlotRef.java@358
PS2, Line 358: if (label_ != null) return label_.toLowerCase().hashCode();
             :     return super.localHash();
I think rawPath_ is important to hash for nested type column?


http://gerrit.cloudera.org:8080/#/c/21483/2/testdata/workloads/functional-planner/queries/PlannerTest/many-expression.test
File 
testdata/workloads/functional-planner/queries/PlannerTest/many-expression.test:

http://gerrit.cloudera.org:8080/#/c/21483/2/testdata/workloads/functional-planner/queries/PlannerTest/many-expression.test@4
PS2, Line 4:
Replace tabs with spaces?



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ic538a82c69ee1dd76981fbacf95289c9d00ea9fe
Gerrit-Change-Number: 21483
Gerrit-PatchSet: 2
Gerrit-Owner: Michael Smith <[email protected]>
Gerrit-Reviewer: Daniel Becker <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>
Gerrit-Reviewer: Riza Suminto <[email protected]>
Gerrit-Comment-Date: Thu, 06 Jun 2024 19:33:11 +0000
Gerrit-HasComments: Yes

Reply via email to