aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/replication/logical/reorderbuffer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c
index 5f8907bb743..c27f7100534 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -2690,8 +2690,11 @@ ReorderBufferPrepare(ReorderBuffer *rb, TransactionId xid,
* We send the prepare for the concurrently aborted xacts so that later
* when rollback prepared is decoded and sent, the downstream should be
* able to rollback such a xact. See comments atop DecodePrepare.
+ *
+ * Note, for the concurrent_abort + streaming case a stream_prepare was
+ * already sent within the ReorderBufferReplay call above.
*/
- if (txn->concurrent_abort)
+ if (txn->concurrent_abort && !rbtxn_is_streamed(txn))
rb->prepare(rb, txn, txn->final_lsn);
}