diff options
-rw-r--r-- | src/backend/access/transam/xact.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 295858f396..4a83f77e3f 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -6850,8 +6850,13 @@ AtEOXact_WaitedXids(void) * subtransactions) had waited-for to the coordinator. The coordinator will * then forward the list to the GTM who ensures that the logical ordering * between these transactions and this transaction is correctly followed. + * + * Non XL clients are not prepared to deal with this message. So ensure we + * check for remote end first. It's not enough to check if we're NOT a + * local coordinator (as we were doing before) since one might be running + * pg_restore to create a new coordinator or a datanode in --restoremode. */ - if (whereToSendOutput == DestRemote && !IS_PGXC_LOCAL_COORDINATOR) + if (whereToSendOutput == DestRemote && !IsConnFromApp()) { if (s->waitedForXidsCount > 0) { |