Bikramjeet Vig has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13307 )

Change subject: IMPALA-8536: Add Scalable Pool Configuration to Admission 
Controller.
......................................................................


Patch Set 6:

(15 comments)

http://gerrit.cloudera.org:8080/#/c/13307/5/be/src/scheduling/admission-controller.h
File be/src/scheduling/admission-controller.h:

http://gerrit.cloudera.org:8080/#/c/13307/5/be/src/scheduling/admission-controller.h@663
PS5, Line 663: Use a
nit: Uses a


http://gerrit.cloudera.org:8080/#/c/13307/5/be/src/scheduling/admission-controller.h@664
PS5, Line 664: This is based on the
             :   /// max_requests_estimate limit and the current queue size. We 
will attempt to
             :   /// dequeue up to this number of requests until reaching the 
per-pool memory limit
nit: not sure if this detail is relevant there. maybe remove this?


http://gerrit.cloudera.org:8080/#/c/13307/3/be/src/scheduling/admission-controller.h
File be/src/scheduling/admission-controller.h:

http://gerrit.cloudera.org:8080/#/c/13307/3/be/src/scheduling/admission-controller.h@603
PS3, Line 603: _size_snapshot,
> The ClusterMembershipMgr that will come in IMPALA-8460 has a method GetSnap
Not a common term but just reviewing IMPALA-8460 drilled into me that the 
notion that a snapshot is like a snapshot of some (meta)data.
how about cluster_snapshot_size?


http://gerrit.cloudera.org:8080/#/c/13307/3/be/src/scheduling/admission-controller.cc
File be/src/scheduling/admission-controller.cc:

http://gerrit.cloudera.org:8080/#/c/13307/3/be/src/scheduling/admission-controller.cc@1396
PS3, Line 1396:
> I originally used the cluster size from QuerySchedule but hit problems with
I thought about this more and I think not counting the quiescing backends would 
be the better alternative since in this case the queries scheduled to run on 
those backends would not hold up the rest of the queue and in case queries 
scheduled on lesser num of backends get overadmitted, we can consider those an 
extension of the case where a query is only scheduled on a subset of backends 
(another eg would be query only scheduled on coord).


http://gerrit.cloudera.org:8080/#/c/13307/3/be/src/scheduling/admission-controller.cc@1444
PS3, Line 1444: rn
> should be OR (||)
<bump>


http://gerrit.cloudera.org:8080/#/c/13307/5/be/src/scheduling/admission-controller.cc
File be/src/scheduling/admission-controller.cc:

http://gerrit.cloudera.org:8080/#/c/13307/5/be/src/scheduling/admission-controller.cc@1051
PS5, Line 1051: absolute limit
nit: outdated comment


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py
File tests/custom_cluster/test_admission_controller.py:

http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@994
PS5, Line 994: Impalada
nit: Impalads


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1002
PS5, Line 1002:   def check_admission_by_memory(self, expected_admission, 
expected_rejection_reason=None):
nit: by convention, we usually prefix a helper method with a double underscore 
( __ )


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1003
PS5, Line 1003:     query = "select * from functional.alltypesagg  order by 
int_col limit 1"
nit: add method comment


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1003
PS5, Line 1003: query = "select * from functional.alltypesagg  order by int_col 
limit 1"
might be useful to set the mem_limit too to make this less flaky in case the 
estimates change in the future.


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1015
PS5, Line 1015:       assert expected_rejection_reason in rejected_reasons[0]
nit: print the profile if this assert fails for easy debugging


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1016
PS5, Line 1016: yybecause
nit: perhaps you forgot to remove this line?


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1025
PS5, Line 1025:     Run some queries, find how many were admitted, queued or 
rejected, and then compare
nit: maybe mention that this is to verify if the admission controller correctly 
enforces query count limits


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1037
PS5, Line 1037: assert (expected_num_admitted + expected_num_queued +
              :             expected_num_rejected) == NUM_QUERIES
it seems like we can calculate all these expected values from the num of 
impalads in the cluster, maybe that is the only variable we need to pass to 
this methods since the logic for expected values is incorporated in this method 
itself (as the request_pool is constant) .


http://gerrit.cloudera.org:8080/#/c/13307/5/www/admission_controller.tmpl
File www/admission_controller.tmpl:

http://gerrit.cloudera.org:8080/#/c/13307/5/www/admission_controller.tmpl@335
PS5, Line 335: pool_max_requests
we ll have to update this and other Limits(pool_max_queued, 
pool_max_mem_resources) value to something like what GetMaxRequestsForPool 
returns.



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: If47508728124076f3b9200c27cffc989f7a4f188
Gerrit-Change-Number: 13307
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Sherman <asher...@cloudera.com>
Gerrit-Reviewer: Andrew Sherman <asher...@cloudera.com>
Gerrit-Reviewer: Bikramjeet Vig <bikramjeet....@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Lars Volker <l...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Comment-Date: Mon, 03 Jun 2019 18:13:07 +0000
Gerrit-HasComments: Yes

Reply via email to