Kurt Deschler has posted comments on this change. ( http://gerrit.cloudera.org:8080/21398 )
Change subject: IMPALA-13057: Incorporate tuple/slot information into tuple cache key ...................................................................... Patch Set 4: (5 comments) http://gerrit.cloudera.org:8080/#/c/21398/4/fe/src/main/java/org/apache/impala/analysis/Expr.java File fe/src/main/java/org/apache/impala/analysis/Expr.java: http://gerrit.cloudera.org:8080/#/c/21398/4/fe/src/main/java/org/apache/impala/analysis/Expr.java@868 PS4, Line 868: return treeToThrift(new ThriftSerializationCtx()); Why pass context vs null? Does this have any implications WRT being able to disable as much code as possible when caching is turned off or not applicable? http://gerrit.cloudera.org:8080/#/c/21398/4/fe/src/main/java/org/apache/impala/common/ThriftSerializationCtx.java File fe/src/main/java/org/apache/impala/common/ThriftSerializationCtx.java: http://gerrit.cloudera.org:8080/#/c/21398/4/fe/src/main/java/org/apache/impala/common/ThriftSerializationCtx.java@72 PS4, Line 72: public void registerTuple(TupleId id) { Would it be cleaner to have this logic in Analyzer instead? http://gerrit.cloudera.org:8080/#/c/21398/4/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java File fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java: http://gerrit.cloudera.org:8080/#/c/21398/4/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java@1945 PS4, Line 1945: serialCtx.translateTupleId(entry.getKey().getId()).asInt(), Consider moving this inside Expr.treesToThrift() and passing in entry. http://gerrit.cloudera.org:8080/#/c/21398/4/fe/src/main/java/org/apache/impala/planner/PlanNode.java File fe/src/main/java/org/apache/impala/planner/PlanNode.java: http://gerrit.cloudera.org:8080/#/c/21398/4/fe/src/main/java/org/apache/impala/planner/PlanNode.java@510 PS4, Line 510: msg.node_id = serialCtx.isTupleCache()? 0 : id_.asInt(); Move these assignments to the conditional branch below http://gerrit.cloudera.org:8080/#/c/21398/4/fe/src/main/java/org/apache/impala/planner/PlanNode.java@528 PS4, Line 528: msg.addToRow_tuples(serialCtx.translateTupleId(tid).asInt()); Could local tids be employed early so that translation isn't needed here? -- To view, visit http://gerrit.cloudera.org:8080/21398 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7f5278e9dbb976cbebdc6a21a6e66bc90ce06c6c Gerrit-Change-Number: 21398 Gerrit-PatchSet: 4 Gerrit-Owner: Joe McDonnell <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Kurt Deschler <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Yida Wu <[email protected]> Gerrit-Comment-Date: Thu, 09 May 2024 15:12:02 +0000 Gerrit-HasComments: Yes
