mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-27 10:02:01 +00:00
62 lines
2.4 KiB
Bash
62 lines
2.4 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
CUR_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||
|
# shellcheck source=../shell_config.sh
|
||
|
. "$CUR_DIR"/../shell_config.sh
|
||
|
|
||
|
function involved_parallel_replicas () {
|
||
|
# Not using current_database = '$CLICKHOUSE_DATABASE' as nested parallel queries aren't run with it
|
||
|
$CLICKHOUSE_CLIENT --query "
|
||
|
SELECT
|
||
|
initial_query_id,
|
||
|
(count() - 2) / 2 as number_of_parallel_replicas
|
||
|
FROM system.query_log
|
||
|
WHERE event_date >= yesterday()
|
||
|
AND initial_query_id LIKE '$1%'
|
||
|
GROUP BY initial_query_id
|
||
|
ORDER BY min(event_time_microseconds) ASC
|
||
|
FORMAT TSV"
|
||
|
}
|
||
|
|
||
|
$CLICKHOUSE_CLIENT --query "CREATE TABLE replicas_summary (n Int64) ENGINE = MergeTree() ORDER BY n AS Select * from numbers(100_000)"
|
||
|
|
||
|
# Note that we are not verifying the exact read rows and bytes (apart from not being 0) for 2 reasons:
|
||
|
# - Different block sizes lead to different read rows
|
||
|
# - Depending on how fast the replicas are they might need data that ends up being discarded because the coordinator
|
||
|
# already has enough (but it has been read in parallel, so it's reported).
|
||
|
|
||
|
query_id_base="02841_summary_$CLICKHOUSE_DATABASE"
|
||
|
|
||
|
echo "
|
||
|
SELECT *
|
||
|
FROM replicas_summary
|
||
|
LIMIT 100
|
||
|
SETTINGS
|
||
|
max_parallel_replicas = 2,
|
||
|
cluster_for_parallel_replicas = 'test_cluster_one_shard_three_replicas_localhost',
|
||
|
allow_experimental_parallel_reading_from_replicas = 1,
|
||
|
parallel_replicas_for_non_replicated_merge_tree = 1,
|
||
|
use_hedged_requests = 0,
|
||
|
interactive_delay=0
|
||
|
"\
|
||
|
| ${CLICKHOUSE_CURL} -sS "${CLICKHOUSE_URL}&wait_end_of_query=1&query_id=${query_id_base}_interactive_0" --data-binary @- -vvv 2>&1 \
|
||
|
| grep "Summary" | grep -cv '"read_rows":"0"'
|
||
|
|
||
|
echo "
|
||
|
SELECT *
|
||
|
FROM replicas_summary
|
||
|
LIMIT 100
|
||
|
SETTINGS
|
||
|
max_parallel_replicas = 2,
|
||
|
cluster_for_parallel_replicas = 'test_cluster_one_shard_three_replicas_localhost',
|
||
|
allow_experimental_parallel_reading_from_replicas = 1,
|
||
|
parallel_replicas_for_non_replicated_merge_tree = 1,
|
||
|
use_hedged_requests = 0,
|
||
|
interactive_delay=99999999999
|
||
|
"\
|
||
|
| ${CLICKHOUSE_CURL} -sS "${CLICKHOUSE_URL}&wait_end_of_query=1&query_id=${query_id_base}_interactive_high" --data-binary @- -vvv 2>&1 \
|
||
|
| grep "Summary" | grep -cv '"read_rows":"0"'
|
||
|
|
||
|
$CLICKHOUSE_CLIENT --query "SYSTEM FLUSH LOGS"
|
||
|
involved_parallel_replicas "${query_id_base}"
|