Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 4d916dd

Browse files
committed
Stabilize test of BRIN parallel create
The test for parallel create of BRIN indexes added by commit 8225c2f happens to be unstable - a background transaction (e.g. auto-analyze) may hold back global xmin for the initial VACUUM / CREATE INDEX. If the cleanup happens before the next CREATE INDEX, the indexes will not be exactly the same. This is the same issue as e2933a6, so fix it the same way by making the table TEMPORARY, which uses an up-to-date cutoff xmin that is not held back by other processes. Reported by Alexander Lakhin, who also suggested the fix. Author: Alexander Lakhin Discussion: https://postgr.es/m/b58901cd-a7cc-29c6-e2b1-e3d7317c3c69@gmail.com Discussion: https://postgr.es/m/2892135.1668976646@sss.pgh.pa.us
1 parent 03107b4 commit 4d916dd

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

contrib/pageinspect/expected/brin.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ SELECT (COUNT(*) = (SELECT relpages FROM pg_class WHERE relname = 'test2')) AS r
109109
DROP TABLE test1;
110110
DROP TABLE test2;
111111
-- Test that parallel index build produces the same BRIN index as serial build.
112-
CREATE TABLE brin_parallel_test (a int, b text, c bigint) WITH (fillfactor=40);
112+
CREATE TEMPORARY TABLE brin_parallel_test (a int, b text, c bigint) WITH (fillfactor=40);
113113
-- Generate a table with a mix of NULLs and non-NULL values (and data suitable
114114
-- for the different opclasses we build later).
115115
INSERT INTO brin_parallel_test

contrib/pageinspect/sql/brin.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ DROP TABLE test1;
5656
DROP TABLE test2;
5757

5858
-- Test that parallel index build produces the same BRIN index as serial build.
59-
CREATE TABLE brin_parallel_test (a int, b text, c bigint) WITH (fillfactor=40);
59+
CREATE TEMPORARY TABLE brin_parallel_test (a int, b text, c bigint) WITH (fillfactor=40);
6060

6161
-- Generate a table with a mix of NULLs and non-NULL values (and data suitable
6262
-- for the different opclasses we build later).

0 commit comments

Comments
 (0)