Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita180c2b

Browse files
committed
Stabilize test_decoding touching with sequences
Some of the test_decoding regression tests are unstable due to modifyinga sequence. The first increment of a sequence after a checkpoint isalways logged (and thus decoded), which makes the output unpredictable.The runs are usually much shorter than a checkpoint internal, so thesefailures are rare, but we've seen a couple of them on animals that areeither slow or are running with valgrind/clobber cache/...Fixed by skipping sequence decoding in most tests, with the exception ofthe test aimed at testing decoding of sequences.Reported-by: Amita KapilaDiscussion:https://postgr.es/m/d045f3c2-6cfb-06d3-5540-e63c320df8bc@enterprisedb.com
1 parent54c72eb commita180c2b

File tree

10 files changed

+44
-44
lines changed

10 files changed

+44
-44
lines changed

‎contrib/test_decoding/expected/ddl.out

Lines changed: 13 additions & 13 deletions
Large diffs are not rendered by default.

‎contrib/test_decoding/expected/decoding_in_xact.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'inc
6868

6969
COMMIT;
7070
INSERT INTO nobarf(data) VALUES('3');
71-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
71+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
7272
data
7373
-----------------------------------------------------------
7474
BEGIN

‎contrib/test_decoding/expected/replorigin.out

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ SELECT pg_replication_origin_xact_setup('0/aabbccdd', '2013-01-01 00:00');
110110
(1 row)
111111

112112
INSERT INTO target_tbl(data)
113-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1');
113+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1', 'include-sequences', '0');
114114
COMMIT;
115115
-- check replication progress for the session is correct
116116
SELECT pg_replication_origin_session_progress(false);
@@ -154,14 +154,14 @@ SELECT pg_replication_origin_progress('regress_test_decoding: regression_slot',
154154
SELECT pg_replication_origin_session_reset();
155155
ERROR: no replication origin is configured
156156
-- and magically the replayed xact will be filtered!
157-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1');
157+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1', 'include-sequences', '0');
158158
data
159159
------
160160
(0 rows)
161161

162162
--but new original changes still show up
163163
INSERT INTO origin_tbl(data) VALUES ('will be replicated');
164-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1');
164+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1', 'include-sequences', '0');
165165
data
166166
--------------------------------------------------------------------------------
167167
BEGIN
@@ -227,7 +227,7 @@ SELECT local_id, external_id,
227227
1 | regress_test_decoding: regression_slot_no_lsn | f | t
228228
(1 row)
229229

230-
SELECT data FROM pg_logical_slot_get_changes('regression_slot_no_lsn', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0');
230+
SELECT data FROM pg_logical_slot_get_changes('regression_slot_no_lsn', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0', 'include-sequences', '0');
231231
data
232232
-------------------------------------------------------------------------------------
233233
BEGIN

‎contrib/test_decoding/expected/rewrite.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ INSERT INTO replication_example(somedata, testcolumn1, testcolumn3) VALUES (7, 5
115115
COMMIT;
116116
-- make old files go away
117117
CHECKPOINT;
118-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
118+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
119119
data
120120
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
121121
BEGIN

‎contrib/test_decoding/expected/slot.out

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot1', NULL, NULL, 'in
107107
COMMIT
108108
(7 rows)
109109

110-
SELECT data FROM pg_logical_slot_get_changes('regression_slot2', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
110+
SELECT data FROM pg_logical_slot_get_changes('regression_slot2', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
111111
data
112112
---------------------------------------------------------------------------------------------------------
113113
BEGIN
@@ -132,15 +132,15 @@ SELECT :'wal_lsn' = :'end_lsn';
132132
t
133133
(1 row)
134134

135-
SELECT data FROM pg_logical_slot_get_changes('regression_slot1', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
135+
SELECT data FROM pg_logical_slot_get_changes('regression_slot1', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
136136
data
137137
---------------------------------------------------------------------------------------------------------
138138
BEGIN
139139
table public.replication_example: INSERT: id[integer]:6 somedata[integer]:1 text[character varying]:'6'
140140
COMMIT
141141
(3 rows)
142142

143-
SELECT data FROM pg_logical_slot_get_changes('regression_slot2', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
143+
SELECT data FROM pg_logical_slot_get_changes('regression_slot2', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
144144
data
145145
------
146146
(0 rows)

‎contrib/test_decoding/sql/ddl.sql

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ SELECT pg_drop_replication_slot('regression_slot');
1919

2020
-- check that we're detecting a streaming rep slot used for logical decoding
2121
SELECT'init'FROM pg_create_physical_replication_slot('repl');
22-
SELECT dataFROM pg_logical_slot_get_changes('repl',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
22+
SELECT dataFROM pg_logical_slot_get_changes('repl',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
2323
SELECT pg_drop_replication_slot('repl');
2424

2525

@@ -68,7 +68,7 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'inc
6868

6969
ALTERTABLE replication_example ALTER COLUMN somenum TYPE int4 USING (somenum::int4);
7070
-- check that this doesn't produce any changes from the heap rewrite
71-
SELECTcount(data)FROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
71+
SELECTcount(data)FROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
7272

7373
INSERT INTO replication_example(somedata, somenum)VALUES (5,1);
7474

@@ -82,7 +82,7 @@ INSERT INTO replication_example(somedata, somenum, zaphod1) VALUES (6, 4, 2);
8282
COMMIT;
8383

8484
-- show changes
85-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
85+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
8686

8787
-- ON CONFLICT DO UPDATE support
8888
BEGIN;
@@ -91,7 +91,7 @@ INSERT INTO replication_example(id, somedata, somenum) SELECT i, i, i FROM gener
9191
COMMIT;
9292

9393
/* display results*/
94-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
94+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
9595

9696
CREATETABLEtr_unique(id2serial uniqueNOT NULL, dataint);
9797
INSERT INTO tr_unique(data)VALUES(10);
@@ -104,7 +104,7 @@ INSERT INTO tr_pkey(data) VALUES(1);
104104
DELETEFROM tr_pkey;
105105

106106
/* display results*/
107-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
107+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
108108

109109
/*
110110
* check that disk spooling works (also for logical messages)
@@ -136,7 +136,7 @@ DROP TABLE spoolme;
136136
COMMIT;
137137

138138
SELECT data
139-
FROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1')
139+
FROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0')
140140
WHERE data ~'UPDATE';
141141

142142
-- check that a large, spooled, upsert works
@@ -145,7 +145,7 @@ SELECT g.i, -g.i FROM generate_series(8000, 12000) g(i)
145145
ON CONFLICT(id) DOUPDATESET data=EXCLUDED.data;
146146

147147
SELECTsubstring(data,1,29),count(*)
148-
FROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1') WITH ORDINALITY
148+
FROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0') WITH ORDINALITY
149149
GROUP BY1
150150
ORDER BYmin(ordinality);
151151

@@ -202,7 +202,7 @@ RELEASE SAVEPOINT subtop;
202202
INSERT INTO tr_sub(path)VALUES ('2-top-#1');
203203
COMMIT;
204204

205-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
205+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
206206

207207
-- make sure rollbacked subtransactions aren't decoded
208208
BEGIN;
@@ -215,7 +215,7 @@ ROLLBACK TO SAVEPOINT b;
215215
INSERT INTO tr_sub(path)VALUES ('3-top-2-#2');
216216
COMMIT;
217217

218-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
218+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
219219

220220
-- test whether a known, but not yet logged toplevel xact, followed by a
221221
-- subxact commit is handled correctly
@@ -234,7 +234,7 @@ INSERT INTO tr_sub(path) VALUES ('5-top-1-#1');
234234
COMMIT;
235235

236236

237-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
237+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
238238

239239
-- check that DDL in aborted subtransactions handled correctly
240240
CREATETABLEtr_sub_ddl(dataint);
@@ -247,7 +247,7 @@ ALTER TABLE tr_sub_ddl ALTER COLUMN data TYPE bigint;
247247
INSERT INTO tr_sub_ddlVALUES(43);
248248
COMMIT;
249249

250-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
250+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
251251

252252

253253
/*
@@ -410,10 +410,10 @@ WHERE id = 1;
410410
-- make sure we decode correctly even if the toast table is gone
411411
DROPTABLE toasttable;
412412

413-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
413+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
414414

415415
-- done, free logical replication slot
416-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
416+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
417417

418418
SELECT pg_drop_replication_slot('regression_slot');
419419

‎contrib/test_decoding/sql/decoding_in_xact.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'inc
3636
COMMIT;
3737

3838
INSERT INTO nobarf(data)VALUES('3');
39-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
39+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
4040

4141
SELECT'stop'FROM pg_drop_replication_slot('regression_slot');

‎contrib/test_decoding/sql/replorigin.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ BEGIN;
6060
-- setup transaction origin
6161
SELECT pg_replication_origin_xact_setup('0/aabbccdd','2013-01-01 00:00');
6262
INSERT INTO target_tbl(data)
63-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','only-local','1');
63+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','only-local','1','include-sequences','0');
6464
COMMIT;
6565

6666
-- check replication progress for the session is correct
@@ -79,11 +79,11 @@ SELECT pg_replication_origin_progress('regress_test_decoding: regression_slot',
7979
SELECT pg_replication_origin_session_reset();
8080

8181
-- and magically the replayed xact will be filtered!
82-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','only-local','1');
82+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','only-local','1','include-sequences','0');
8383

8484
--but new original changes still show up
8585
INSERT INTO origin_tbl(data)VALUES ('will be replicated');
86-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','only-local','1');
86+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','only-local','1','include-sequences','0');
8787

8888
SELECT pg_drop_replication_slot('regression_slot');
8989
SELECT pg_replication_origin_drop('regress_test_decoding: regression_slot');
@@ -114,7 +114,7 @@ SELECT local_id, external_id,
114114
remote_lsn<>'0/0'AS valid_remote_lsn,
115115
local_lsn<>'0/0'AS valid_local_lsn
116116
FROM pg_replication_origin_status;
117-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot_no_lsn',NULL,NULL,'skip-empty-xacts','1','include-xids','0');
117+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot_no_lsn',NULL,NULL,'skip-empty-xacts','1','include-xids','0','include-sequences','0');
118118
-- Clean up
119119
SELECT pg_replication_origin_session_reset();
120120
SELECT pg_drop_replication_slot('regression_slot_no_lsn');

‎contrib/test_decoding/sql/rewrite.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ COMMIT;
9090
-- make old files go away
9191
CHECKPOINT;
9292

93-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
93+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
9494

9595
-- trigger repeated rewrites of a system catalog with a toast table,
9696
-- that previously was buggy: 20180914021046.oi7dm4ra3ot2g2kt@alap3.anarazel.de

‎contrib/test_decoding/sql/slot.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot2', 'test_
5151
INSERT INTO replication_example(somedata,text)VALUES (1,3);
5252

5353
SELECT dataFROM pg_logical_slot_get_changes('regression_slot1',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
54-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot2',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
54+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot2',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
5555

5656
INSERT INTO replication_example(somedata,text)VALUES (1,4);
5757
INSERT INTO replication_example(somedata,text)VALUES (1,5);
@@ -65,8 +65,8 @@ SELECT slot_name FROM pg_replication_slot_advance('regression_slot2', pg_current
6565

6666
SELECT :'wal_lsn'= :'end_lsn';
6767

68-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot1',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
69-
SELECT dataFROM pg_logical_slot_get_changes('regression_slot2',NULL,NULL,'include-xids','0','skip-empty-xacts','1');
68+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot1',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
69+
SELECT dataFROM pg_logical_slot_get_changes('regression_slot2',NULL,NULL,'include-xids','0','skip-empty-xacts','1','include-sequences','0');
7070

7171
DROPTABLE replication_example;
7272

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp