mirror of
https://github.com/apache/impala.git
synced 2026-01-20 21:01:42 -05:00
This gives us some additional coverage for using admission control in a simple but realistic configuration. What are the implications of this change for test stability and flakiness? On one hand were are adding some more unpredictability to tests, because they may be queued for an arbitrary amount of time. On the other, we can prevent queries from contending over memory. Currently we rely on luck to prevent concurrent queries from forcing each other out-of-memory. I think the unpredictability from the queueing is preferable, because we can generally work around these by fixing tests that are sensitive to being queued, whereas contention over memory requires us to use crude workarounds like forcing tests to execute serially. Added observability for the configured queue wait time for each pool. I noticed that I did not have a direct way to observe the effective value when I set configs. This is IMPALA-8905. I had to tweak tests in a few ways: * Tests with large strings needed higher memory limits. * Hardcoded instances of default-pool had to handle root.default as well. * test_query_mem_limit needed to run without a mem_limit. I created a special pool root.no-limits with no memory limits to allow that. Testing: Ran the dockerised build 5-6 times to flush out flaky tests. Change-Id: I7517673f9e348780fcf7cd6ce1f12c9c5a55373a Reviewed-on: http://gerrit.cloudera.org:8080/13942 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
249 lines
9.9 KiB
Plaintext
249 lines
9.9 KiB
Plaintext
====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
# IMPALA-1619 group_concat() error
|
|
select length(group_concat(l_comment, "!")) from (
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem) a
|
|
---- CATCH
|
|
Concatenated string length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
# IMPALA-2620: Allocation by UDF/UDA need to take into account of memory limit.
|
|
SET mem_limit=512m;
|
|
select length(group_concat(l_comment, "!")) from (
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem union all
|
|
select l_comment from tpch_parquet.lineitem) a
|
|
---- CATCH
|
|
Memory limit exceeded
|
|
====
|
|
---- QUERY
|
|
#IMPALA-3350: Results of string functions can exceed 1GB.
|
|
set mem_limit=4gb;
|
|
select length(concat_ws(',', s, s, s, s)) from (
|
|
select group_concat(l_comment, "!") s from (
|
|
select l_comment from tpch.lineitem union all
|
|
select l_comment from tpch.lineitem) t1
|
|
) t2
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select length(repeat(s, 10)) from (
|
|
select group_concat(l_comment, "!") s from (
|
|
select l_comment from tpch.lineitem union all
|
|
select l_comment from tpch.lineitem) t1
|
|
) t2
|
|
---- CATCH
|
|
repeat() result is larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select length(lpad(s, 1073741830, '!')) from (
|
|
select group_concat(l_comment, "!") s from (
|
|
select l_comment from tpch.lineitem union all
|
|
select l_comment from tpch.lineitem) t1
|
|
) t2
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select length(rpad(s, 1073741830, '~')) from (
|
|
select group_concat(l_comment, "!") s from (
|
|
select l_comment from tpch.lineitem union all
|
|
select l_comment from tpch.lineitem) t1
|
|
) t2
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
set mem_limit=4gb;
|
|
select space(1073741830);
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select length(regexp_replace(s, '.', '++++++++')) from (
|
|
select group_concat(l_comment, "!") s from (
|
|
select l_comment from tpch.lineitem union all
|
|
select l_comment from tpch.lineitem) t1
|
|
) t2
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select length(replace(s, ' ', '++++++++')) from (
|
|
select group_concat(l_comment, "!") s from (
|
|
select l_comment from tpch.lineitem union all
|
|
select l_comment from tpch.lineitem) t1
|
|
) t2
|
|
---- RESULTS
|
|
625718301
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=5gb;
|
|
select replace(x, '+', '000') from (select (replace(s, ' ', '++++++++')) x from (
|
|
select group_concat(l_comment, "!") s from (
|
|
select l_comment from tpch.lineitem union all
|
|
select l_comment from tpch.lineitem) t1
|
|
) t2) t3;
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select trunc(timestamp_col, space(1073741830)) from functional.alltypes
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select extract(timestamp_col, space(1073741830)) from functional.alltypes
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select length(madlib_encode_vector(concat_ws(',', s, s, s, s))) from (
|
|
select group_concat(l_comment, "!") s from (
|
|
select l_comment from tpch.lineitem union all
|
|
select l_comment from tpch.lineitem) t1
|
|
) t2
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select length(madlib_decode_vector(concat_ws(',', s, s, s, s))) from (
|
|
select group_concat(l_comment, "!") s from (
|
|
select l_comment from tpch.lineitem union all
|
|
select l_comment from tpch.lineitem) t1
|
|
) t2
|
|
---- CATCH
|
|
String length larger than allowed limit of 1 GB character data
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
# IMPALA-4874: Generate a large row made up of multiple large strings to test RPC
|
|
# transmission. This uses hashing to make this difficult to compress,
|
|
# which results in a larger row batch.
|
|
select length(group_concat(h, "!")),
|
|
length(group_concat(h, "-"))
|
|
from (
|
|
select cast(fnv_hash(concat(l_comment, 'a')) as string) as h from tpch_parquet.lineitem union all
|
|
select cast(fnv_hash(concat(l_comment, 'b')) as string) as h from tpch_parquet.lineitem union all
|
|
select cast(fnv_hash(concat(l_comment, 'c')) as string) as h from tpch_parquet.lineitem union all
|
|
select cast(fnv_hash(concat(l_comment, 'd')) as string) as h from tpch_parquet.lineitem) a;
|
|
---- TYPES
|
|
INT,INT
|
|
---- RESULTS
|
|
489174530,489174530
|
|
=====
|
|
---- QUERY
|
|
set mem_limit=4gb;
|
|
select repeat('the quick brown fox', 1024 * 1024 * 100)
|
|
---- CATCH
|
|
repeat() result is larger than allowed limit of 1 GB character data
|
|
=====
|