pgsql: Remove the unnecessary PrepareWrite in pgoutput. - Mailing list pgsql-committers

From Amit Kapila
Subject pgsql: Remove the unnecessary PrepareWrite in pgoutput.
Date
Msg-id E1lBpjM-0006Z7-Kn@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Remove the unnecessary PrepareWrite in pgoutput.

This issue exists from the inception of this code (PG-10) but got exposed
by the recent commit ce0fdbfe97 where we are using origins in tablesync
workers. The problem was that we were sometimes sending the prepare_write
('w') message but then the actual message was not being sent and on the
subscriber side, we always expect a message after prepare_write message
which led to this bug.

I refrained from backpatching this because there is no way in the core
code to hit this prior to commit ce0fdbfe97 and we haven't received any
complaints so far.

Reported-by: Erik Rijkers
Author: Amit Kapila and Vignesh C
Tested-by: Erik Rijkers
Discussion: https://postgr.es/m/1295168140.139428.1613133237154@webmailclassic.xs4all.nl

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f672df5fdd22dac14c98d0a0bf5bbaa6ab17f8a5

Modified Files
--------------
src/backend/replication/pgoutput/pgoutput.c | 19 ++++----
src/test/subscription/t/100_bugs.pl         | 69 +++++++++++++++++++++++++++++
2 files changed, 80 insertions(+), 8 deletions(-)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: Fix heap_page_prune() parameter order confusion introduced in dc
Next
From: Tom Lane
Date:
Subject: pgsql: Convert tsginidx.c's GIN indexing logic to fully ternary operati