ClickHouse/tests/queries/0_stateless/01632_tinylog_read_write.sh

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
1.2 KiB
Bash
Raw Normal View History

2021-01-01 20:15:43 +00:00
#!/usr/bin/env bash
# Tags: no-fasttest
2021-01-01 20:15:43 +00:00
set -e
CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
2021-01-03 15:45:08 +00:00
# shellcheck source=../shell_config.sh
2021-01-01 20:15:43 +00:00
. "$CURDIR"/../shell_config.sh
$CLICKHOUSE_CLIENT --multiquery --query "DROP TABLE IF EXISTS test; CREATE TABLE IF NOT EXISTS test (x UInt64, s Array(Nullable(String))) ENGINE = TinyLog;"
function thread_select {
2023-07-04 11:42:27 +00:00
local TIMELIMIT=$((SECONDS+$1))
while [ $SECONDS -lt "$TIMELIMIT" ]; do
2023-02-02 01:46:30 +00:00
$CLICKHOUSE_CLIENT --local_filesystem_read_method pread --query "SELECT * FROM test FORMAT Null"
sleep 0.0$RANDOM
done
2021-01-01 20:15:43 +00:00
}
function thread_insert {
2023-07-04 11:42:27 +00:00
local TIMELIMIT=$((SECONDS+$1))
while [ $SECONDS -lt "$1" ]; do
$CLICKHOUSE_CLIENT --query "INSERT INTO test VALUES (1, ['Hello'])"
sleep 0.0$RANDOM
done
2021-01-01 20:15:43 +00:00
}
export -f thread_select
export -f thread_insert
2021-01-01 20:15:43 +00:00
# Do randomized queries and expect nothing extraordinary happens.
2023-07-04 11:42:27 +00:00
TIMEOUT=10
2021-01-01 20:15:43 +00:00
2023-07-04 11:42:27 +00:00
thread_select $TIMEOUT &
thread_select $TIMEOUT &
thread_select $TIMEOUT &
thread_select $TIMEOUT &
thread_insert $TIMEOUT &
thread_insert $TIMEOUT &
thread_insert $TIMEOUT &
thread_insert $TIMEOUT &
2021-01-01 20:15:43 +00:00
wait
echo "Done"
$CLICKHOUSE_CLIENT --multiquery --query "DROP TABLE IF EXISTS test;"