diff --git a/src/backend/distributed/transaction/remote_transaction.c b/src/backend/distributed/transaction/remote_transaction.c index 8b67a2186..969f0d583 100644 --- a/src/backend/distributed/transaction/remote_transaction.c +++ b/src/backend/distributed/transaction/remote_transaction.c @@ -808,9 +808,11 @@ CoordinatedRemoteTransactionsPrepare(void) if (transaction->transactionState != REMOTE_TRANS_PREPARING) { /* - * Verify that the connection didn't modify any placement + * Verify that either the transaction failed, hence we couldn't prepare + * or the connection didn't modify any placement */ - Assert(!ConnectionModifiedPlacement(connection)); + Assert(transaction->transactionFailed || + !ConnectionModifiedPlacement(connection)); continue; }