diff options
author | Magnus Hagander <magnus@hagander.net> | 2012-07-04 15:10:46 +0200 |
---|---|---|
committer | Magnus Hagander <magnus@hagander.net> | 2012-07-04 15:24:17 +0200 |
commit | b8aca12d77612007ebde22db14e3971ef664d553 (patch) | |
tree | b02529f17136f108184d261435988f273d2c3d41 /src/backend/replication/walreceiver.c | |
parent | 119027ec8b8d02c8d70e4916df1b41cde78f674d (diff) |
Always treat a standby returning an an invalid flush location as async
This ensures that a standby such as pg_receivexlog will not be selected
as sync standby - which would cause the master to block waiting for
a location that could never happen.
Fujii Masao
Diffstat (limited to 'src/backend/replication/walreceiver.c')
-rw-r--r-- | src/backend/replication/walreceiver.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/backend/replication/walreceiver.c b/src/backend/replication/walreceiver.c index 18b4727fa81..7058b888ca3 100644 --- a/src/backend/replication/walreceiver.c +++ b/src/backend/replication/walreceiver.c @@ -276,6 +276,11 @@ WalReceiverMain(void) walrcv_connect(conninfo, startpoint); DisableWalRcvImmediateExit(); + /* Initialize LogstreamResult, reply_message and feedback_message */ + LogstreamResult.Write = LogstreamResult.Flush = GetXLogReplayRecPtr(); + MemSet(&reply_message, 0, sizeof(reply_message)); + MemSet(&feedback_message, 0, sizeof(feedback_message)); + /* Loop until end-of-streaming or error */ for (;;) { |