Improve flaky test to provide more diagnostics

This commit is contained in:
Alexey Milovidov 2024-06-23 17:36:27 +02:00
parent af361a73ff
commit b79d3d521c
2 changed files with 3 additions and 34 deletions

View File

@ -1,38 +1,8 @@
-- { echo }
EXPLAIN PIPELINE SELECT sleep(1);
(Expression) (Expression)
ExpressionTransform ExpressionTransform
(ReadFromStorage) (ReadFromStorage)
SourceFromSingleChunk 0 → 1 SourceFromSingleChunk 0 → 1
SELECT sleep(1) SETTINGS log_processors_profiles=true, log_queries=1, log_queries_min_type='QUERY_FINISH';
0 0
SYSTEM FLUSH LOGS;
WITH
(
SELECT query_id
FROM system.query_log
WHERE current_database = currentDatabase() AND Settings['log_processors_profiles']='1'
) AS query_id_
SELECT
name,
multiIf(
-- ExpressionTransform executes sleep(),
-- so IProcessor::work() will spend 1 sec.
name = 'ExpressionTransform', elapsed_us>=1e6,
-- SourceFromSingleChunk, that feed data to ExpressionTransform,
-- will feed first block and then wait in PortFull.
name = 'SourceFromSingleChunk', output_wait_elapsed_us>=1e6,
-- NullSource/LazyOutputFormatLazyOutputFormat are the outputs
-- so they cannot starts to execute before sleep(1) will be executed.
input_wait_elapsed_us>=1e6)
elapsed,
input_rows,
input_bytes,
output_rows,
output_bytes
FROM system.processors_profile_log
WHERE query_id = query_id_
ORDER BY name;
ExpressionTransform 1 1 1 1 1 ExpressionTransform 1 1 1 1 1
LazyOutputFormat 1 1 1 0 0 LazyOutputFormat 1 1 1 0 0
LimitsCheckingTransform 1 1 1 1 1 LimitsCheckingTransform 1 1 1 1 1

View File

@ -1,4 +1,3 @@
-- { echo }
EXPLAIN PIPELINE SELECT sleep(1); EXPLAIN PIPELINE SELECT sleep(1);
SELECT sleep(1) SETTINGS log_processors_profiles=true, log_queries=1, log_queries_min_type='QUERY_FINISH'; SELECT sleep(1) SETTINGS log_processors_profiles=true, log_queries=1, log_queries_min_type='QUERY_FINISH';
@ -15,13 +14,13 @@ SELECT
multiIf( multiIf(
-- ExpressionTransform executes sleep(), -- ExpressionTransform executes sleep(),
-- so IProcessor::work() will spend 1 sec. -- so IProcessor::work() will spend 1 sec.
name = 'ExpressionTransform', elapsed_us>=1e6, name = 'ExpressionTransform', elapsed_us>=1e6 ? 1 : elapsed_us,
-- SourceFromSingleChunk, that feed data to ExpressionTransform, -- SourceFromSingleChunk, that feed data to ExpressionTransform,
-- will feed first block and then wait in PortFull. -- will feed first block and then wait in PortFull.
name = 'SourceFromSingleChunk', output_wait_elapsed_us>=1e6, name = 'SourceFromSingleChunk', output_wait_elapsed_us>=1e6 ? 1 : output_wait_elapsed_us,
-- NullSource/LazyOutputFormatLazyOutputFormat are the outputs -- NullSource/LazyOutputFormatLazyOutputFormat are the outputs
-- so they cannot starts to execute before sleep(1) will be executed. -- so they cannot starts to execute before sleep(1) will be executed.
input_wait_elapsed_us>=1e6) input_wait_elapsed_us>=1e6 ? 1 : input_wait_elapsed_us)
elapsed, elapsed,
input_rows, input_rows,
input_bytes, input_bytes,