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, \

Reply via email to