Tim Armstrong has posted comments on this change. ( http://gerrit.cloudera.org:8080/14357 )
Change subject: IMPALA-8998: admission control accounting for mt_dop ...................................................................... Patch Set 11: Code-Review+1 (5 comments) Carry bikram's +1 http://gerrit.cloudera.org:8080/#/c/14357/8/be/src/scheduling/scheduler.cc File be/src/scheduling/scheduler.cc: http://gerrit.cloudera.org:8080/#/c/14357/8/be/src/scheduling/scheduler.cc@689 PS8, Line 689: for (auto& backend : per_backend_params) { : int be_max_instances = 0; : // Instances for a fragment are clustered together because of how the vector is : // constructed above. So we can compute the max # of instances of any fragment : // with a single pass over the vector. : const FragmentExecParams* curr_fragment = nullptr; : int curr_instance_count = 0; // Number of instances of the current fragment seen. : for (auto& finstance : backend.second.instance_params) { : if (curr_fragment == nullptr || : curr_fragment != &finstance->fragment_exec_params) { : curr_fragment = &finstance->fragment_exec_params; : curr_instance_count = 0; : } : ++curr_instance_count; : be_max_instances = max(be_max_instances, curr_instance_count); : } : backend.second.slots_to_use = be_max_instances; : } > nit: seems like we are iterating over per_backend_params a few times after I'd prefer multiple passes that do one thing each rather than a single pass that does multiple things. I don't think the loop overhead should be significant. http://gerrit.cloudera.org:8080/#/c/14357/8/tests/custom_cluster/test_admission_controller.py File tests/custom_cluster/test_admission_controller.py: http://gerrit.cloudera.org:8080/#/c/14357/8/tests/custom_cluster/test_admission_controller.py@882 PS8, Line 882: Test that queue details appear in the profile when queued based on num_queries > nit: update description Done http://gerrit.cloudera.org:8080/#/c/14357/8/tests/custom_cluster/test_admission_controller.py@903 PS8, Line 903: num_queries > nit: update message Done http://gerrit.cloudera.org:8080/#/c/14357/11/tests/verifiers/metric_verifier.py File tests/verifiers/metric_verifier.py: http://gerrit.cloudera.org:8080/#/c/14357/11/tests/verifiers/metric_verifier.py@69 PS11, Line 69: wait_for_backend_admission_control_state > nit: (feel free to ignore) how about "wait_for_idle_backend_state"? I think I'll stick with this name, even though it's a little awkward. I kinda wanted capture that it wasn't the state of the actual backends, but rather the admission control state. http://gerrit.cloudera.org:8080/#/c/14357/11/tests/verifiers/test_verify_metrics.py File tests/verifiers/test_verify_metrics.py: http://gerrit.cloudera.org:8080/#/c/14357/11/tests/verifiers/test_verify_metrics.py@48 PS11, Line 48: test_verify_backends > nit: (feel free to ignore) how about "test_backends_are_idle" Done -- To view, visit http://gerrit.cloudera.org:8080/14357 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I7b6b6262ef238df26b491352656a26e4163e46e5 Gerrit-Change-Number: 14357 Gerrit-PatchSet: 11 Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Abhishek Rawat <ara...@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: Fri, 04 Oct 2019 00:32:59 +0000 Gerrit-HasComments: Yes