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