pgsql: Ensure to send a prepare after we detect concurrent abort during

From: Amit Kapila <akapila(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Ensure to send a prepare after we detect concurrent abort during
Date: 2021-04-01 02:50:08
Message-ID: E1lRnPM-00064S-5N@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Ensure to send a prepare after we detect concurrent abort during decoding.

It is possible that while decoding a prepared transaction, it gets aborted
concurrently via a ROLLBACK PREPARED command. In that case, we were
skipping all the changes and directly sending Rollback Prepared when we
find the same in WAL. However, the downstream has no idea of the GID of
such a transaction. So, ensure to send prepare even when a concurrent
abort is detected.

Author: Ajin Cherian
Reviewed-by: Markus Wanner, Amit Kapila
Discussion: https://postgr.es/m/f82133c6-6055-b400-7922-97dae9f2b50b@enterprisedb.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4778826532a62fd6e4d3fdeef9532c943604c730

Modified Files
--------------
doc/src/sgml/logicaldecoding.sgml | 15 +++++++++------
src/backend/replication/logical/reorderbuffer.c | 8 ++++++++
2 files changed, 17 insertions(+), 6 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2021-04-01 06:30:10 pgsql: doc: Clarify use of ACCESS EXCLUSIVE lock in various sections
Previous Message David Rowley 2021-04-01 02:24:16 Re: pgsql: Extended statistics on expressions