IMPALA-4895: Memory limit exceeded in test_outer_joins

A recent change (IMPALA-3524) removed a 'CATCH' section for a
mem limit exceeded error because the other changes in the patch
reduced the memory requirements for that particular query and
the error was no longer being hit.

This seemed okay because the point of the test wasn't to trigger
the mem limit exceeded error, and I manually verified that the
situation was the test was addressing was still covered even
without the error being hit.

It turns out, though, that the test still hits the error in some
situations (local-filesystem and non-partitioned-aggs-and-joins
builds).

The fix is to make the test more permissive by adding '__NO_ERROR_'
as one of the options in the 'CATCH: ANY_OF' section, so that it
passes whether or not the mem limit is exceeded.

Change-Id: I4731a3e83dd2142a1d83be963f83cd1847472295
Reviewed-on: http://gerrit.cloudera.org:8080/5941
Reviewed-by: Dan Hecht <[email protected]>
Tested-by: Impala Public Jenkins


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

Branch: refs/heads/master
Commit: 82290d61adc53f10342276e96e32e889385eecf8
Parents: 4419d5f
Author: Thomas Tauber-Marshall <[email protected]>
Authored: Wed Feb 8 11:18:23 2017 -0800
Committer: Impala Public Jenkins <[email protected]>
Committed: Thu Feb 9 00:50:15 2017 +0000

----------------------------------------------------------------------
 testdata/workloads/tpch/queries/tpch-outer-joins.test | 4 ++++
 tests/common/impala_test_suite.py                     | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/82290d61/testdata/workloads/tpch/queries/tpch-outer-joins.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-outer-joins.test 
b/testdata/workloads/tpch/queries/tpch-outer-joins.test
index a189a7a..d0c8162 100644
--- a/testdata/workloads/tpch/queries/tpch-outer-joins.test
+++ b/testdata/workloads/tpch/queries/tpch-outer-joins.test
@@ -29,6 +29,10 @@ SELECT straight_join * FROM orders o
 RIGHT OUTER JOIN lineitem l ON o.o_orderkey =  if(l.l_orderkey % 2 = 0, 0, 
l.l_orderkey)
 ORDER BY l_receiptdate, l_orderkey, l_shipdate
 limit 10
+---- CATCH: ANY_OF
+Repartitioning did not reduce the size of a spilled partition
+Memory limit exceeded
+__NO_ERROR__
 ====
 ---- QUERY
 # Regression test for IMPALA-2612. The following query will cause CastToChar

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/82290d61/tests/common/impala_test_suite.py
----------------------------------------------------------------------
diff --git a/tests/common/impala_test_suite.py 
b/tests/common/impala_test_suite.py
index e90c5ac..2972cb8 100644
--- a/tests/common/impala_test_suite.py
+++ b/tests/common/impala_test_suite.py
@@ -366,7 +366,7 @@ class ImpalaTestSuite(BaseTestSuite):
         if len(query_options_changed) > 0:
           self.__restore_query_options(query_options_changed, 
target_impalad_client)
 
-      if 'CATCH' in test_section:
+      if 'CATCH' in test_section and '__NO_ERROR__' not in 
test_section['CATCH']:
         expected_str = " or ".join(test_section['CATCH']).strip() \
           .replace('$FILESYSTEM_PREFIX', FILESYSTEM_PREFIX) \
           .replace('$NAMENODE', NAMENODE) \

Reply via email to