Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed transparent decompress chunk test which seem to be flaky. #5606

Merged
merged 1 commit into from
Apr 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/gh_matrix_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ def macos_config(overrides):
# partialize_finalize is ignored due to #4937
pg15_installcheck_args = "IGNORES='partialize_finalize'"

pg14_installcheck_args = "IGNORES='partialize_finalize transparent_decompress_chunk-14'"
pg14_installcheck_args = "IGNORES='partialize_finalize'"

pg13_installcheck_args = "IGNORES='partialize_finalize'"

Expand Down
181 changes: 84 additions & 97 deletions tsl/test/shared/expected/transparent_decompress_chunk-12.out
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
\set PREFIX_NO_ANALYZE 'EXPLAIN (verbose, costs off)'
\set PREFIX_NO_VERBOSE 'EXPLAIN (costs off)'
SELECT show_chunks('metrics_compressed') AS "TEST_TABLE" ORDER BY 1::text LIMIT 1 \gset
-- this should use DecompressChunk node
:PREFIX_VERBOSE
Expand Down Expand Up @@ -657,7 +658,7 @@ QUERY PLAN
DROP VIEW compressed_view;
SET parallel_leader_participation TO off;
-- test INNER JOIN
:PREFIX
:PREFIX_NO_VERBOSE
SELECT *
FROM :TEST_TABLE m1
INNER JOIN :TEST_TABLE m2 ON m1.time = m2.time
Expand All @@ -666,22 +667,20 @@ FROM :TEST_TABLE m1
m1.device_id
LIMIT 10;
QUERY PLAN
Limit (actual rows=10 loops=1)
-> Merge Join (actual rows=10 loops=1)
Limit
-> Merge Join
Merge Cond: ((m1."time" = m2."time") AND (m1.device_id = m2.device_id))
-> Sort (actual rows=10 loops=1)
-> Sort
Sort Key: m1."time", m1.device_id
Sort Method: quicksort
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=20 loops=1)
-> Sort (actual rows=10 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1
-> Seq Scan on compress_hyper_X_X_chunk
-> Sort
Sort Key: m2."time", m2.device_id
Sort Method: quicksort
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1 (actual rows=20 loops=1)
(13 rows)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1
(11 rows)

:PREFIX
:PREFIX_NO_VERBOSE
SELECT *
FROM :TEST_TABLE m1
INNER JOIN :TEST_TABLE m2 ON m1.time = m2.time
Expand All @@ -692,28 +691,25 @@ FROM :TEST_TABLE m1
m1.device_id
LIMIT 10;
QUERY PLAN
Limit (actual rows=10 loops=1)
-> Nested Loop (actual rows=10 loops=1)
Limit
-> Nested Loop
Join Filter: (m1."time" = m3."time")
Rows Removed by Join Filter: 35969
-> Merge Join (actual rows=10 loops=1)
-> Merge Join
Merge Cond: ((m1."time" = m2."time") AND (m1.device_id = m2.device_id))
-> Sort (actual rows=10 loops=1)
-> Sort
Sort Key: m1."time", m1.device_id
Sort Method: quicksort
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=20 loops=1)
-> Sort (actual rows=10 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1
-> Seq Scan on compress_hyper_X_X_chunk
-> Sort
Sort Key: m2."time", m2.device_id
Sort Method: quicksort
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1 (actual rows=20 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m3 (actual rows=3598 loops=10)
-> Index Scan using compress_hyper_X_X_chunk__compressed_hypertable_4_device_id__t on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_2 (actual rows=4 loops=10)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m3
-> Index Scan using compress_hyper_X_X_chunk__compressed_hypertable_4_device_id__t on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_2
Index Cond: (device_id = 3)
(19 rows)
(16 rows)

:PREFIX
:PREFIX_NO_VERBOSE
SELECT *
FROM :TEST_TABLE m1
INNER JOIN :TEST_TABLE m2 ON m1.time = m2.time
Expand All @@ -725,19 +721,19 @@ FROM :TEST_TABLE m1
m2.device_id
LIMIT 100;
QUERY PLAN
Limit (actual rows=100 loops=1)
-> Merge Join (actual rows=100 loops=1)
Limit
-> Merge Join
Merge Cond: (m1."time" = m2."time")
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1 (actual rows=100 loops=1)
-> Index Scan Backward using compress_hyper_X_X_chunk__compressed_hypertable_4_device_id__t on compress_hyper_X_X_chunk (actual rows=1 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1
-> Index Scan Backward using compress_hyper_X_X_chunk__compressed_hypertable_4_device_id__t on compress_hyper_X_X_chunk
Index Cond: (device_id = 1)
-> Materialize (actual rows=100 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2 (actual rows=100 loops=1)
-> Index Scan Backward using compress_hyper_X_X_chunk__compressed_hypertable_4_device_id__t on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1 (actual rows=1 loops=1)
-> Materialize
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2
-> Index Scan Backward using compress_hyper_X_X_chunk__compressed_hypertable_4_device_id__t on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1
Index Cond: (device_id = 2)
(10 rows)

:PREFIX
:PREFIX_NO_VERBOSE
SELECT *
FROM metrics m1
INNER JOIN metrics_space m2 ON m1.time = m2.time
Expand All @@ -749,30 +745,30 @@ FROM metrics m1
m2.device_id
LIMIT 100;
QUERY PLAN
Limit (actual rows=100 loops=1)
-> Merge Join (actual rows=100 loops=1)
Limit
-> Merge Join
Merge Cond: (m1."time" = m2."time")
-> Custom Scan (ChunkAppend) on metrics m1 (actual rows=100 loops=1)
-> Custom Scan (ChunkAppend) on metrics m1
Order: m1."time"
-> Index Scan Backward using _hyper_X_X_chunk_metrics_device_id_time_idx on _hyper_X_X_chunk m1_1 (actual rows=100 loops=1)
-> Index Scan Backward using _hyper_X_X_chunk_metrics_device_id_time_idx on _hyper_X_X_chunk m1_1
Index Cond: (device_id = 1)
-> Index Scan Backward using _hyper_X_X_chunk_metrics_device_id_time_idx on _hyper_X_X_chunk m1_2 (never executed)
-> Index Scan Backward using _hyper_X_X_chunk_metrics_device_id_time_idx on _hyper_X_X_chunk m1_2
Index Cond: (device_id = 1)
-> Index Scan Backward using _hyper_X_X_chunk_metrics_device_id_time_idx on _hyper_X_X_chunk m1_3 (never executed)
-> Index Scan Backward using _hyper_X_X_chunk_metrics_device_id_time_idx on _hyper_X_X_chunk m1_3
Index Cond: (device_id = 1)
-> Materialize (actual rows=100 loops=1)
-> Custom Scan (ChunkAppend) on metrics_space m2 (actual rows=100 loops=1)
-> Materialize
-> Custom Scan (ChunkAppend) on metrics_space m2
Order: m2."time"
-> Index Scan using _hyper_X_X_chunk_metrics_space_device_id_time_idx on _hyper_X_X_chunk m2_1 (actual rows=100 loops=1)
-> Index Scan using _hyper_X_X_chunk_metrics_space_device_id_time_idx on _hyper_X_X_chunk m2_1
Index Cond: (device_id = 2)
-> Index Scan using _hyper_X_X_chunk_metrics_space_device_id_time_idx on _hyper_X_X_chunk m2_2 (never executed)
-> Index Scan using _hyper_X_X_chunk_metrics_space_device_id_time_idx on _hyper_X_X_chunk m2_2
Index Cond: (device_id = 2)
-> Index Scan using _hyper_X_X_chunk_metrics_space_device_id_time_idx on _hyper_X_X_chunk m2_3 (never executed)
-> Index Scan using _hyper_X_X_chunk_metrics_space_device_id_time_idx on _hyper_X_X_chunk m2_3
Index Cond: (device_id = 2)
(20 rows)

-- test OUTER JOIN
:PREFIX
:PREFIX_NO_VERBOSE
SELECT *
FROM :TEST_TABLE m1
LEFT OUTER JOIN :TEST_TABLE m2 ON m1.time = m2.time
Expand All @@ -781,22 +777,20 @@ ORDER BY m1.time,
m1.device_id
LIMIT 10;
QUERY PLAN
Limit (actual rows=10 loops=1)
-> Merge Left Join (actual rows=10 loops=1)
Limit
-> Merge Left Join
Merge Cond: ((m1."time" = m2."time") AND (m1.device_id = m2.device_id))
-> Sort (actual rows=10 loops=1)
-> Sort
Sort Key: m1."time", m1.device_id
Sort Method: quicksort
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=20 loops=1)
-> Sort (actual rows=10 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1
-> Seq Scan on compress_hyper_X_X_chunk
-> Sort
Sort Key: m2."time", m2.device_id
Sort Method: quicksort
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1 (actual rows=20 loops=1)
(13 rows)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1
(11 rows)

:PREFIX
:PREFIX_NO_VERBOSE
SELECT *
FROM :TEST_TABLE m1
LEFT OUTER JOIN :TEST_TABLE m2 ON m1.time = m2.time
Expand All @@ -808,25 +802,22 @@ ORDER BY m1.time,
m2.device_id
LIMIT 100;
QUERY PLAN
Limit (actual rows=100 loops=1)
-> Sort (actual rows=100 loops=1)
Limit
-> Sort
Sort Key: m1."time", m1.device_id, m2."time", m2.device_id
Sort Method: top-N heapsort
-> Hash Left Join (actual rows=17990 loops=1)
-> Hash Left Join
Hash Cond: (m1."time" = m2."time")
Join Filter: (m1.device_id = 1)
Rows Removed by Join Filter: 14392
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=20 loops=1)
-> Hash (actual rows=3598 loops=1)
Buckets: 4096 (originally 1024) Batches: 1 (originally 1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2 (actual rows=3598 loops=1)
-> Index Scan using compress_hyper_X_X_chunk__compressed_hypertable_4_device_id__t on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1 (actual rows=4 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1
-> Seq Scan on compress_hyper_X_X_chunk
-> Hash
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2
-> Index Scan using compress_hyper_X_X_chunk__compressed_hypertable_4_device_id__t on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1
Index Cond: (device_id = 2)
(15 rows)
(12 rows)

-- test implicit self-join
:PREFIX
:PREFIX_NO_VERBOSE
SELECT *
FROM :TEST_TABLE m1,
:TEST_TABLE m2
Expand All @@ -837,22 +828,20 @@ ORDER BY m1.time,
m2.device_id
LIMIT 20;
QUERY PLAN
Limit (actual rows=20 loops=1)
-> Sort (actual rows=20 loops=1)
Limit
-> Sort
Sort Key: m1."time", m1.device_id, m2.device_id
Sort Method: top-N heapsort
-> Hash Join (actual rows=89950 loops=1)
-> Hash Join
Hash Cond: (m1."time" = m2."time")
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=20 loops=1)
-> Hash (actual rows=17990 loops=1)
Buckets: 32768 Batches: 1
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1 (actual rows=20 loops=1)
(12 rows)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1
-> Seq Scan on compress_hyper_X_X_chunk
-> Hash
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1
(10 rows)

-- test self-join with sub-query
:PREFIX
:PREFIX_NO_VERBOSE
SELECT *
FROM (
SELECT *
Expand All @@ -865,19 +854,17 @@ ORDER BY m1.time,
m2.device_id
LIMIT 10;
QUERY PLAN
Limit (actual rows=10 loops=1)
-> Sort (actual rows=10 loops=1)
Limit
-> Sort
Sort Key: m1."time", m1.device_id, m2.device_id
Sort Method: top-N heapsort
-> Hash Join (actual rows=89950 loops=1)
-> Hash Join
Hash Cond: (m1."time" = m2."time")
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=20 loops=1)
-> Hash (actual rows=17990 loops=1)
Buckets: 32768 Batches: 1
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2 (actual rows=17990 loops=1)
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1 (actual rows=20 loops=1)
(12 rows)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m1
-> Seq Scan on compress_hyper_X_X_chunk
-> Hash
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk m2
-> Seq Scan on compress_hyper_X_X_chunk compress_hyper_X_X_chunk_1
(10 rows)

RESET parallel_leader_participation;
:PREFIX
Expand Down