Files
impala/testdata/workloads/functional-query/queries/QueryTest/query-resource-limits.test
Bikramjeet Vig 0d0356c932 IMPALA-7837: Fix flakiness in test_resource_limits for release builds
test_resource_limits was failing in release build because the queries
used were finishing earlier than expected. This resulted in fragment
instances not being able to send enough updates to the coordinator in
order to hit the limits used for the tests. This patches adds a
deterministic sleep to the queries which gives enough time to the
coordinator to catch up on reports.

Testing:
Checked that tests passed on release builds.

Change-Id: I4a47391e52f3974db554dfc0d38139d3ee18a1b4
Reviewed-on: http://gerrit.cloudera.org:8080/11933
Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
2018-11-15 05:48:39 +00:00

53 lines
2.0 KiB
Plaintext

====
---- QUERY
# Query should succeed.
set CPU_LIMIT_S=10000;
set SCAN_BYTES_LIMIT="10G";
select id from functional.alltypessmall order by 1 limit 1
---- TYPES
INT
---- RESULTS
0
====
---- QUERY
# Query should fail due to exceeding scan bytes limit.
# Added a sleep to make sure it runs long enough to get a non-zero update from the
# fragment instances on the num of bytes read and cpu time.
set SCAN_BYTES_LIMIT="100M";
select sleep(10000) union select count(*) from tpch.lineitem l1,tpch.lineitem l2,
tpch.lineitem l3 where l1.l_suppkey = l2.l_linenumber and l1.l_orderkey = l2.l_orderkey
and l1.l_orderkey = l3.l_orderkey group by l1.l_comment, l2.l_comment having count(*) = 99
---- CATCH
row_regex:.*terminated due to scan bytes limit of 100.00 M.*
====
---- QUERY
# Query should fail due to CPU time limit.
# Added a sleep to make sure it runs long enough to get a non-zero update from the
# fragment instances on the num of bytes read and cpu time.
set CPU_LIMIT_S=1;
select sleep(10000) union select count(*) from tpch.lineitem l1,tpch.lineitem l2,
tpch.lineitem l3 where l1.l_suppkey = l2.l_linenumber and l1.l_orderkey = l2.l_orderkey
and l1.l_orderkey = l3.l_orderkey group by l1.l_comment, l2.l_comment having count(*) = 99
---- CATCH
row_regex:.*terminated due to CPU limit of 1s000ms.*
====
---- QUERY
# Query should fail due to CPU time limit.
# Added a sleep to make sure it runs long enough to get a non-zero update from the
# fragment instances on the num of bytes read and cpu time.
set CPU_LIMIT_S=1;
set SCAN_BYTES_LIMIT="100G";
select sleep(10000) union select count(*) from tpch.lineitem l1,tpch.lineitem l2,
tpch.lineitem l3 where l1.l_suppkey = l2.l_linenumber and l1.l_orderkey = l2.l_orderkey
and l1.l_orderkey = l3.l_orderkey group by l1.l_comment, l2.l_comment having count(*) = 99
---- CATCH
row_regex:.*terminated due to CPU limit of 1s000ms.*
====
---- QUERY
# Query should fail due to exceeding time limit.
set EXEC_TIME_LIMIT_S=2;
select sleep(10000)
---- CATCH
row_regex:.*expired due to execution time limit of 2s000ms.*
====