You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by jo...@apache.org on 2020/08/06 00:07:18 UTC
[impala] 01/02: IMPALA-10037: Remove flaky test_mt_dop_scan_node
This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit f38ca7dbbbbf8cf027fcaab4713a6b186b584cef
Author: Bikramjeet Vig <bi...@gmail.com>
AuthorDate: Tue Aug 4 17:14:37 2020 -0700
IMPALA-10037: Remove flaky test_mt_dop_scan_node
This test has inherent flakiness due to it relying on instances
fetching scan ranges from a shared queue. Therefore, this patch
removes the test since it was just a sanity check but its flakiness
outweighed its usefulness.
Change-Id: I1625872189ea7ac2d4e4d035956f784b6e18eb08
Reviewed-on: http://gerrit.cloudera.org:8080/16286
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
tests/query_test/test_mt_dop.py | 43 +----------------------------------------
1 file changed, 1 insertion(+), 42 deletions(-)
diff --git a/tests/query_test/test_mt_dop.py b/tests/query_test/test_mt_dop.py
index 8af3fa8..4f5b50d 100644
--- a/tests/query_test/test_mt_dop.py
+++ b/tests/query_test/test_mt_dop.py
@@ -37,6 +37,7 @@ WAIT_TIME_MS = build_flavor_timeout(60000, slow_build_timeout=100000)
# the value 0 to cover the non-MT path as well.
MT_DOP_VALUES = [0, 1, 2, 8]
+
class TestMtDop(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
@@ -97,48 +98,6 @@ class TestMtDop(ImpalaTestSuite):
assert expected_results in results.data
-class TestMtDopScanNode(ImpalaTestSuite):
- @classmethod
- def get_workload(self):
- return 'functional-query'
-
- @classmethod
- def add_test_dimensions(cls):
- super(TestMtDopScanNode, cls).add_test_dimensions()
- cls.ImpalaTestMatrix.add_constraint(
- lambda v: v.get_value('table_format').file_format == 'text' and v.get_value(
- 'table_format').compression_codec == 'none')
-
- def test_mt_dop_scan_node(self, vector, unique_database):
- """Regression test to make sure scan ranges are shared among all scan node instances
- when using mt_dop. This runs a selective hash join that will dynamically prune
- partitions leaving less than 5% of the data. Before IMPALA-9655 this would almost
- always result in a failure where at least one instance would have all its statically
- assigned scan ranges pruned."""
- fq_table_name = "%s.store_sales_subset" % unique_database
- self.execute_query("create table %s as select distinct(ss_sold_date_sk) as "
- "sold_date from tpcds.store_sales limit 50" % fq_table_name)
- vector.get_value('exec_option')['mt_dop'] = 8
- vector.get_value('exec_option')['runtime_filter_wait_time_ms'] = 100000
-
- # Since this depends on instances fetching scan ranges from a shared queue, running
- # it multiple times ensures any flakiness is removed. On a release build it has a
- # 0.05% failure rate.
- NUM_TRIES = 100
- failed_count = 0
- for i in xrange(NUM_TRIES):
- try:
- result = self.execute_query(
- "select count(ss_sold_date_sk) from tpcds.store_sales, %s where "
- "ss_sold_date_sk = sold_date" % fq_table_name,
- vector.get_value('exec_option'))
- assert "- BytesRead: 0" not in result.runtime_profile, result.runtime_profile
- break
- except Exception:
- failed_count += 1
- if i == NUM_TRIES - 1: raise
- LOG.info("Num of times failed before success {0}".format(failed_count))
-
class TestMtDopParquet(ImpalaTestSuite):
@classmethod
def get_workload(cls):