Andrew Sherman 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 7:

(21 comments)

Addressing review comments, main changes are:
Switched to using ClusterMembershipMgr to get cluster membership.
Enhanced ClusterMembershipMgr to add a count of non-quiescing backends to the 
Snapshot.
Added a simple unit test for AdmissionControoler::PoolDisabled.
Added metrics for derived configuration values.

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

http://gerrit.cloudera.org:8080/#/c/13307/3/be/src/scheduling/admission-controller-test.cc@279
PS3, Line 279:   // AdmissionController.
> Consider breaking this up into a few more targeted tests, I think it makes
I have tidied up and added comments.


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

http://gerrit.cloudera.org:8080/#/c/13307/6/be/src/scheduling/admission-controller-test.cc@71
PS6, Line 71:
> Comment could be more descriptive.
Done


http://gerrit.cloudera.org:8080/#/c/13307/6/be/src/scheduling/admission-controller-test.cc@74
PS6, Line 74:   QuerySchedule* MakeQuerySchedule(string request_pool_name, 
TPoolConfig& config,
> DCHECK_GT
Done


http://gerrit.cloudera.org:8080/#/c/13307/6/be/src/scheduling/admission-controller-test.cc@175
PS6, Line 175:   }
> Extra spaces after ///
Done


http://gerrit.cloudera.org:8080/#/c/13307/6/be/src/scheduling/admission-controller-test.cc@204
PS6, Line 204:   }
> Comment is a little uninformative. Maybe "Make an AdmissionController with
Done


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:
> nit: Uses a
Done


http://gerrit.cloudera.org:8080/#/c/13307/5/be/src/scheduling/admission-controller.h@664
PS5, Line 664: pool is configured.
             :   static std::string GetMaxMemForPoolDescription(
             :       const TPoolConfig& pool_config, int64_t 
latest_cluster_size);
> nit: not sure if this detail is relevant there. maybe remove this?
Done


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:
> Not a common term but just reviewing IMPALA-8460 drilled into me that the n
Ah now I understand what you didn't like.
Going with your original suggestion 'latest_cluster_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: uge(
> I thought about this more and I think not counting the quiescing backends w
Thanks for raising the question.I am now not counting the quiescing backends.


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


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:
> nit: outdated comment
Done


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

http://gerrit.cloudera.org:8080/#/c/13307/6/be/src/scheduling/admission-controller.cc@1390
PS6, Line 1390:   metrics_.max_queued_queries_multiple = 
parent_->metrics_group_->AddDoubleGauge(
> I think we need to be a little careful with this being O(cluster size). If
Thanks, new implementation uses ClusterMembershipMgr and the value is added to 
value in ClusterMembershipMgr::Snapshot .


http://gerrit.cloudera.org:8080/#/c/13307/6/be/src/scheduling/admission-controller.cc@1445
PS6, Line 1445:
> Should this be ||? Since we shouldn't be able to submit queries to a pool i
Yes!


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: dmission
> nit: Impalads
Done


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1002
PS5, Line 1002:     :param expected_rejection_reason: a string expected to be 
in the reason for rejection.
> nit: by convention, we usually prefix a helper method with a double undersc
Done


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1003
PS5, Line 1003:     """
> nit: add method comment
Done


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1015
PS5, Line 1015:       assert num_rejected == 1
> nit: print the profile if this assert fails for easy debugging
Done


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


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 check that
> nit: maybe mention that this is to verify if the admission controller corre
Done


http://gerrit.cloudera.org:8080/#/c/13307/5/tests/custom_cluster/test_admission_controller.py@1037
PS5, Line 1037:
              :     impalad = self.cluster.impalads[0]
> it seems like we can calculate all these expected values from the num of im
Done


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_re
I left these alone and added metrics for what GetMaxRequestsForPool etc return 
in the Pool Stats section.



--
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: 7
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: Thu, 06 Jun 2019 23:29:36 +0000
Gerrit-HasComments: Yes

Reply via email to