diff --git a/contrib/avro b/contrib/avro index e43c46e87fd..7832659ec98 160000 --- a/contrib/avro +++ b/contrib/avro @@ -1 +1 @@ -Subproject commit e43c46e87fd32eafdc09471e95344555454c5ef8 +Subproject commit 7832659ec986075d560f930c288e973c64679552 diff --git a/tests/queries/0_stateless/02372_data_race_in_avro.reference b/tests/queries/0_stateless/02372_data_race_in_avro.reference new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/queries/0_stateless/02372_data_race_in_avro.sh b/tests/queries/0_stateless/02372_data_race_in_avro.sh new file mode 100755 index 00000000000..50a7ae1e3c5 --- /dev/null +++ b/tests/queries/0_stateless/02372_data_race_in_avro.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# Tags: no-fasttest, no-parallel + +CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +# shellcheck source=../shell_config.sh +. "$CURDIR"/../shell_config.sh + +for i in $(seq 1 10); +do + $CLICKHOUSE_CLIENT -q "drop table if exists t_avro_$i" + $CLICKHOUSE_CLIENT -q "create table t_avro_$i (x UInt32, s String) engine=File(Avro)" +done + +for i in $(seq 1 10); +do + $CLICKHOUSE_CLIENT -q "insert into t_avro_$i select number, 'str' from numbers(1000) settings engine_file_truncate_on_insert=1" > /dev/null & +done + +sleep 5 + +for i in $(seq 1 10); +do + $CLICKHOUSE_CLIENT-q "drop table t_avro_$i" +done + diff --git a/tests/queries/0_stateless/02373_heap_buffer_overflow_in_avro.reference b/tests/queries/0_stateless/02373_heap_buffer_overflow_in_avro.reference new file mode 100644 index 00000000000..d86bac9de59 --- /dev/null +++ b/tests/queries/0_stateless/02373_heap_buffer_overflow_in_avro.reference @@ -0,0 +1 @@ +OK diff --git a/tests/queries/0_stateless/02373_heap_buffer_overflow_in_avro.sh b/tests/queries/0_stateless/02373_heap_buffer_overflow_in_avro.sh new file mode 100755 index 00000000000..23d6b722c09 --- /dev/null +++ b/tests/queries/0_stateless/02373_heap_buffer_overflow_in_avro.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Tags: no-fasttest, no-parallel + +CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +# shellcheck source=../shell_config.sh +. "$CURDIR"/../shell_config.sh + +USER_FILES_PATH=$(clickhouse-client --query "select _path,_file from file('nonexist.txt', 'CSV', 'val1 char')" 2>&1 | grep Exception | awk '{gsub("/nonexist.txt","",$9); print $9}') + +cp $CURDIR/data_avro/corrupted.avro $USER_FILES_PATH/ + +$CLICKHOUSE_CLIENT -q "select * from file(corrupted.avro)" 2>&1 | grep -F -q "Cannot read compressed data" && echo "OK" || echo "FAIL" + diff --git a/tests/queries/0_stateless/data_avro/corrupted.avro b/tests/queries/0_stateless/data_avro/corrupted.avro new file mode 100644 index 00000000000..0393b231d08 Binary files /dev/null and b/tests/queries/0_stateless/data_avro/corrupted.avro differ