You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by bh...@apache.org on 2018/04/13 22:59:54 UTC

[07/11] impala git commit: Move some test_spilling debug actions to exhaustive

Move some test_spilling debug actions to exhaustive

Phil Z pointed out that these tests take a long time to run.
Based on experience, we only need the always/never variants
to catch the vast majority of spilling-related bugs, so
relegating the other variants to exhaustive should not cause any major
problems.

People making spilling-related changes to the spilling code should run
this test with the exhaustive dimension to flush out any problems in
advance, e.g.:

  impala-py.test tests/query_test/test_spilling.py -n2 --verbose \
    --workload_exploration_strategy=functional-query:exhaustive

Change-Id: I9ea9f6c299480f8dfc943635342e4473499cc8ad
Reviewed-on: http://gerrit.cloudera.org:8080/9976
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Reviewed-by: Philip Zeyliger <ph...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


Project: http://git-wip-us.apache.org/repos/asf/impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/08a01b9f
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/08a01b9f
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/08a01b9f

Branch: refs/heads/2.x
Commit: 08a01b9fc18687e04502ed2ac04956140c18262e
Parents: 4510512
Author: Tim Armstrong <ta...@cloudera.com>
Authored: Tue Apr 10 12:01:55 2018 -0700
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Fri Apr 13 03:26:26 2018 +0000

----------------------------------------------------------------------
 tests/query_test/test_spilling.py | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/impala/blob/08a01b9f/tests/query_test/test_spilling.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_spilling.py b/tests/query_test/test_spilling.py
index 0b36429..8550f96 100644
--- a/tests/query_test/test_spilling.py
+++ b/tests/query_test/test_spilling.py
@@ -22,11 +22,17 @@ from tests.common.test_dimensions import (create_exec_option_dimension_from_dict
     create_parquet_dimension)
 
 # Test with denial of reservations at varying frequency.
-DEBUG_ACTION_DIMS = [None,
+# Always test with the minimal amount of spilling and running with the absolute minimum
+# memory requirement.
+CORE_DEBUG_ACTION_DIMS = [None,
+  '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@1.0']
+
+# Test with different frequency of denial on exhaustive to try and exercise more
+# interesting code paths.
+EXHAUSTIVE_DEBUG_ACTION_DIMS = [
   '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@0.1',
   '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@0.5',
-  '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@0.9',
-  '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@1.0']
+  '-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@0.9']
 
 @pytest.mark.xfail(pytest.config.option.testing_remote_cluster,
                    reason='Queries may not spill on larger clusters')
@@ -40,10 +46,13 @@ class TestSpillingDebugActionDimensions(ImpalaTestSuite):
     super(TestSpillingDebugActionDimensions, cls).add_test_dimensions()
     cls.ImpalaTestMatrix.clear_constraints()
     cls.ImpalaTestMatrix.add_dimension(create_parquet_dimension('tpch'))
+    debug_action_dims = CORE_DEBUG_ACTION_DIMS
+    if cls.exploration_strategy() == 'exhaustive':
+      debug_action_dims = CORE_DEBUG_ACTION_DIMS + EXHAUSTIVE_DEBUG_ACTION_DIMS
     # Tests are calibrated so that they can execute and spill with this page size.
     cls.ImpalaTestMatrix.add_dimension(
         create_exec_option_dimension_from_dict({'default_spillable_buffer_size' : ['256k'],
-          'debug_action' : DEBUG_ACTION_DIMS}))
+          'debug_action' : debug_action_dims}))
 
   def test_spilling(self, vector):
     self.run_test_case('QueryTest/spilling', vector)