This is an automated email from the ASF dual-hosted git repository. stigahuang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/impala.git
commit 11157a87016fc2408a5ae649aed7cdfb8a0e5d3b Author: Michael Smith <[email protected]> AuthorDate: Tue Oct 4 14:16:37 2022 -0700 IMPALA-10889: Allow extra 1MB for fragment cancellation After queries are cancelled, it can take some time (>30s in some instances) to fully cancel all fragment instances and fully reclaim reserved memory. The test and query limits were exactly matched, so any extra reservation would prevent scheduling, causing the test to frequently time out. With the fix, a 1MB of extra memory is reserved to break the tie thus avoiding the time out. The extra 1MB of memory can be seen in logs printing agg_mem_reserved. Rather than extend timeouts and make the test run longer, add a small buffer to the admission limit to allow for fragment instance cleanup while the test runs. Change-Id: Iaee557ad87d3926589b30d6dcdd850e9af9b3476 Reviewed-on: http://gerrit.cloudera.org:8080/19092 Reviewed-by: Impala Public Jenkins <[email protected]> Tested-by: Impala Public Jenkins <[email protected]> --- tests/custom_cluster/test_executor_groups.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/custom_cluster/test_executor_groups.py b/tests/custom_cluster/test_executor_groups.py index 995d1ed15..e0f945e1d 100644 --- a/tests/custom_cluster/test_executor_groups.py +++ b/tests/custom_cluster/test_executor_groups.py @@ -563,9 +563,9 @@ class TestExecutorGroups(CustomClusterTestSuite): # Create fresh clients second_coord_client = self.create_client_for_nth_impalad(1) self.create_impala_clients() - # Add an exec group with a 4gb mem_limit. + # Add an exec group with a 4.001gb mem_limit, adding spare room for cancellation self._add_executor_group("group1", 2, admission_control_slots=2, - extra_args="-mem_limit=4g") + extra_args="-mem_limit=4.001g") assert self._get_num_executor_groups(only_healthy=True) == 1 second_coord_client.set_configuration({'mt_dop': '2'}) handle_for_second = second_coord_client.execute_async(QUERY)
