Marcel Kornacker has posted comments on this change.

Change subject: IMPALA-3748: minimum buffer requirements in planner
......................................................................


Patch Set 13:

(23 comments)

http://gerrit.cloudera.org:8080/#/c/5847/13/be/src/scheduling/query-schedule.cc
File be/src/scheduling/query-schedule.cc:

Line 212
do we still need this?


http://gerrit.cloudera.org:8080/#/c/5847/13/be/src/service/query-exec-state.cc
File be/src/service/query-exec-state.cc:

Line 396:   // Add info strings consumed by CM: Estimated mem and tables 
missing stats.
update


Line 402:   if (query_exec_request.__isset.per_host_min_reservation_bytes) {
can we ditch the _bytes everywhere and declare it's in bytes?


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/AnalyticEvalNode.java
File fe/src/main/java/org/apache/impala/planner/AnalyticEvalNode.java:

Line 252:     long perInstanceMinBufferBytes = 2 * SPILLABLE_BUFFER_BYTES;
is this covered by a test case?


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java
File fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java:

Line 103:   private final static int MAX_THREAD_TOKENS_PER_CORE = 3;
no idea where that's from, but it seems wrong.


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/HdfsTableSink.java
File fe/src/main/java/org/apache/impala/planner/HdfsTableSink.java:

Line 80:     long numPartitions =
rename to perinstance-


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/KuduScanNode.java
File fe/src/main/java/org/apache/impala/planner/KuduScanNode.java:

Line 268:     // TODO: add an estimate
remove todo (we already have a todo to remove the estimates)


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/KuduTableSink.java
File fe/src/main/java/org/apache/impala/planner/KuduTableSink.java:

Line 60:     if (explainLevel.ordinal() >= TExplainLevel.EXTENDED.ordinal()) {
this if block is in every data sink's explainstring. move it into a function.


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/PipelinedPlanNodeSet.java
File fe/src/main/java/org/apache/impala/planner/PipelinedPlanNodeSet.java:

Line 85:     long minBufferBytes = 0L;
minReservationBytes


Line 93:       node.computeResourceProfile(queryOptions);
rather than calling this here, call it after creating plan fragments.


Line 126:       sink.computeResourceProfile(queryOptions);
same here


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/PlanFragment.java
File fe/src/main/java/org/apache/impala/planner/PlanFragment.java:

Line 202:   public int getNumNodes() {
do we still need this?


Line 228:     * Estimates the per-fragment-instance number of distinct values 
of exprs based on the
not super-important, but: should it be "per-fragment instance number"?


Line 297:       str.append(String.format("%s:PLAN FRAGMENT [%s]", 
fragmentId_.toString(),
also call getfragmentheaderstring() here


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/PlanNode.java
File fe/src/main/java/org/apache/impala/planner/PlanNode.java:

Line 276:       TQueryOptions queryOptions, TExplainLevel detailLevel) {
tqueryoptions already contains the explain level. either pass in mt_dop 
explicitly or remove detaillevel.


Line 621:    * Compute resources consumed when executing this PlanNode.
also mention that you're populating resourceProfile_


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/Planner.java
File fe/src/main/java/org/apache/impala/planner/Planner.java:

Line 344
this disappeared (but the comment for it didn't)


Line 361:     long perHostMinReservationBytes = -1;
remove -bytes


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/ResourceProfile.java
File fe/src/main/java/org/apache/impala/planner/ResourceProfile.java:

Line 33:   private final long memBytesEstimate_;
memEstimateBytes_


http://gerrit.cloudera.org:8080/#/c/5847/13/fe/src/main/java/org/apache/impala/planner/SortNode.java
File fe/src/main/java/org/apache/impala/planner/SortNode.java:

Line 241:     long perInstanceMinBufferBytes = 3 * SPILLABLE_BUFFER_BYTES;
-reservation instead of bufferbytes


http://gerrit.cloudera.org:8080/#/c/5847/13/testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test
File 
testdata/workloads/functional-planner/queries/PlannerTest/resource-requirements.test:

Line 21: ---- PARALLELPLANS
you should set mt_dop explicitly if you want to test this.

this doesn't look any different than the distributed plan, what are you testing 
for? would be good to point that out at the top of this file.

also, what about single-node plans?


Line 504: Per-Host Resource Reservation: Memory=0B
what happened here?


Line 871: Per-Host Resource Reservation: Memory=0B
?


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I1e358182bcf2bc5fe5c73883eb97878735b12d37
Gerrit-PatchSet: 13
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Reviewer: Marcel Kornacker <mar...@cloudera.com>
Gerrit-Reviewer: Matthew Jacobs <m...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to