summaryrefslogtreecommitdiff
path: root/src/backend/replication/walsender.c
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2014-07-15 14:40:23 +0100
committerSimon Riggs <simon@2ndQuadrant.com>2014-07-15 14:40:23 +0100
commit2dde11a632d3fe309b5af5480d01a0a3028f7f64 (patch)
tree3962ee72df29322c550c7cc060a44d4baafbf55a /src/backend/replication/walsender.c
parentf18858dc72daf64bedb4bfc946e496fa11e972c9 (diff)
Reset master xmin when hot_standby_feedback disabled.
If walsender has xmin of standby then ensure we reset the value to 0 when we change from hot_standby_feedback=on to hot_standby_feedback=off.
Diffstat (limited to 'src/backend/replication/walsender.c')
-rw-r--r--src/backend/replication/walsender.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c
index c972a1ab985..e73982a6fdc 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -656,9 +656,12 @@ ProcessStandbyHSFeedbackMessage(void)
reply.xmin,
reply.epoch);
- /* Ignore invalid xmin (can't actually happen with current walreceiver) */
+ /* Unset WalSender's xmin if the feedback message value is invalid */
if (!TransactionIdIsNormal(reply.xmin))
+ {
+ MyPgXact->xmin = InvalidTransactionId;
return;
+ }
/*
* Check that the provided xmin/epoch are sane, that is, not in the future