This is an automated email from the ASF dual-hosted git repository.
michaelsmith pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
The following commit(s) were added to refs/heads/master by this push:
new d682e226d IMPALA-10338: Deflake test_queue_reasons_slots in ASAN build.
d682e226d is described below
commit d682e226d5220e828ce473f7f9a7aa8898c20f32
Author: Riza Suminto <[email protected]>
AuthorDate: Sun Feb 23 21:22:06 2025 -0800
IMPALA-10338: Deflake test_queue_reasons_slots in ASAN build.
test_queue_reasons_slots has been flaky in ASAN build for not completing
all of its test queries within 60 seconds from submission time. In the
latest occurrence, the 4th out of 5 queries submitted in parallel does
not get admitted after 60 seconds. It then ends in ERROR state, while
the tests expect it to ends in FINISHED state.
This patch attempt to deflake the tests by increasing slots and MT_DOP
option from 4 to 8 in test_queue_reasons_slots. The test query is a
simple GROUP BY query that is expected to run faster with increased
degree of parallelism.
Testing:
- Loop and pass the test 100x in ASAN build.
Change-Id: I4546aa3ce66c480504685e842a4b610a9a7e01ee
Reviewed-on: http://gerrit.cloudera.org:8080/22530
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
---
tests/custom_cluster/test_admission_controller.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tests/custom_cluster/test_admission_controller.py
b/tests/custom_cluster/test_admission_controller.py
index 5223a421d..3110a8ce6 100644
--- a/tests/custom_cluster/test_admission_controller.py
+++ b/tests/custom_cluster/test_admission_controller.py
@@ -1077,14 +1077,16 @@ class
TestAdmissionController(TestAdmissionControllerBase, HS2TestSuite):
@pytest.mark.execute_serially
@CustomClusterTestSuite.with_args(
impalad_args=impalad_admission_ctrl_flags(max_requests=100,
max_queued=10,
- pool_max_mem=-1, admission_control_slots=4,
+ pool_max_mem=-1, admission_control_slots=8,
executor_groups="default-pool-group1"),
statestored_args=_STATESTORED_ARGS)
def test_queue_reasons_slots(self):
"""Test that queue details appear in the profile when queued based on
number of
slots."""
# Run a bunch of queries - one should get admitted immediately, the rest
should
- # be dequeued one-by-one.
+ # be dequeued one-by-one. This is achieved by running 5 Aggregation
queries in
+ # parallel with MT_DOP option equals to available number of slots in each
Impalad
+ # executor.
STMT = "select min(ss_wholesale_cost) from tpcds_parquet.store_sales"
TIMEOUT_S = 60
EXPECTED_REASON = "Latest admission queue reason: Not enough admission
control " +\
@@ -1095,7 +1097,7 @@ class
TestAdmissionController(TestAdmissionControllerBase, HS2TestSuite):
original_metric_value = self.get_ac_process().service.get_metric_value(
coordinator_limited_metric)
profiles = self._execute_and_collect_profiles([STMT for i in
range(NUM_QUERIES)],
- TIMEOUT_S, config_options={"mt_dop": 4})
+ TIMEOUT_S, config_options={"mt_dop": 8})
num_reasons = len([profile for profile in profiles if EXPECTED_REASON in
profile])
assert num_reasons == NUM_QUERIES - 1, \