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-97dae9f2b...@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(-)