|
| 1 | +#!/usr/bin/env bash |
| 2 | +# Tags: no-object-storage, no-parallel, no-fasttest |
| 3 | + |
| 4 | +# no-object-storage: s3 has 20 more threads |
| 5 | +# no-parallel: it checks the number of threads, which can be lowered in presence of other queries |
| 6 | + |
| 7 | +CUR_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) |
| 8 | +# shellcheck source=../shell_config.sh |
| 9 | +. "$CUR_DIR"/../shell_config.sh |
| 10 | + |
| 11 | + |
| 12 | +cat <<EOF | $CLICKHOUSE_CLIENT -n $SETTINGS |
| 13 | +drop table if exists testX; |
| 14 | +drop table if exists testXA; |
| 15 | +drop table if exists testXB; |
| 16 | +drop table if exists testXC; |
| 17 | +
|
| 18 | +create table testX (A Int64) engine=MergeTree order by tuple(); |
| 19 | +
|
| 20 | +create materialized view testXA engine=MergeTree order by tuple() as select sleep(0.1) from testX; |
| 21 | +create materialized view testXB engine=MergeTree order by tuple() as select sleep(0.2), throwIf(A=1) from testX; |
| 22 | +create materialized view testXC engine=MergeTree order by tuple() as select sleep(0.1) from testX; |
| 23 | +EOF |
| 24 | + |
| 25 | +for max_threads in 1 10; do |
| 26 | + for max_insert_threads in 1 5; do |
| 27 | + echo "max_threads: $max_threads max_insert_threads: $max_insert_threads" |
| 28 | + |
| 29 | + QUERY_ID="03652_query_id_$RANDOM" |
| 30 | + SETTINGS="--query_id=$QUERY_ID " |
| 31 | + SETTINGS="$SETTINGS --max_threads=$max_threads " |
| 32 | + SETTINGS="$SETTINGS --max_insert_threads=$max_insert_threads " |
| 33 | + |
| 34 | + SETTINGS="$SETTINGS --max_block_size=10 " |
| 35 | + SETTINGS="$SETTINGS --min_insert_block_size_rows=10 " |
| 36 | + SETTINGS="$SETTINGS --materialized_views_ignore_errors=1 " |
| 37 | + SETTINGS="$SETTINGS --parallel_view_processing=1 " |
| 38 | + SETTINGS="$SETTINGS --log_queries=1 " |
| 39 | + SETTINGS="$SETTINGS --send_logs_level=error " |
| 40 | + |
| 41 | + $CLICKHOUSE_CLIENT -q 'select * from numbers(50) format TSV' | $CLICKHOUSE_CLIENT $SETTINGS -q 'insert into testX FORMAT TSV' |
| 42 | + |
| 43 | + $CLICKHOUSE_CLIENT -q 'system flush logs system.query_log;' |
| 44 | + |
| 45 | + cat <<EOF | $CLICKHOUSE_CLIENT |
| 46 | +select |
| 47 | + if(peak_threads_usage >= 10, 10, peak_threads_usage), |
| 48 | +from system.query_log where |
| 49 | + current_database = currentDatabase() and |
| 50 | + type != 'QueryStart' and |
| 51 | + query_id = '$QUERY_ID' |
| 52 | +order by ALL; |
| 53 | +EOF |
| 54 | + |
| 55 | + done |
| 56 | +done |
0 commit comments