ClickHouse/tests/queries/0_stateless/01051_system_stack_trace.sql
Azat Khuzhin 907d385df4 Resubmit 01051_system_stack_trace without flakiness (change max_block_size)
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-09-24 14:01:24 +02:00

25 lines
1.1 KiB
SQL

-- Tags: no-parallel
-- Tag no-parallel: to decrease failure probability of collecting stack traces
-- Process one thread at a time
SET max_block_size = 1;
-- It is OK to have bigger timeout here since:
-- a) this test is marked as no-parallel
-- b) there is a filter by thread_name, so it will send signals only to the threads with the name TCPHandler
-- c) max_block_size is 1
SET storage_system_stack_trace_pipe_read_timeout_ms = 5000;
-- { echo }
SELECT count() > 0 FROM system.stack_trace WHERE query_id != '' AND thread_name = 'TCPHandler';
-- opimization for not reading /proc/self/task/{}/comm and avoid sending signal
SELECT countIf(thread_id > 0) > 0 FROM system.stack_trace;
-- optimization for trace
SELECT length(trace) > 0 FROM system.stack_trace WHERE length(trace) > 0 LIMIT 1;
-- optimization for query_id
SELECT length(query_id) > 0 FROM system.stack_trace WHERE query_id != '' AND thread_name = 'TCPHandler' LIMIT 1;
-- optimization for thread_name
SELECT length(thread_name) > 0 FROM system.stack_trace WHERE thread_name != '' LIMIT 1;
-- enough rows (optimizations works "correctly")
SELECT count() > 100 FROM system.stack_trace;