summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/access/transam/xact.c7
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)
{