From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Remember asking for feedback during walsender shutdown. |
Date: | 2016-04-29 05:11:39 |
Message-ID: | E1aw0iJ-0003bT-ST@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Remember asking for feedback during walsender shutdown.
Since 5a991ef8 we're explicitly asking for feedback from the receiving
side when shutting down walsender, if there's not yet replicated
data.
Unfortunately we didn't remember (i.e. set waiting_for_ping_response to
true) having asked for feedback, leading to scenarios in which replies
were requested at a high frequency.
I can't reproduce this problem on my laptop, I think that's because the
problem requires a significant TCP window to manifest due to the
!pq_is_send_pending() condition. But since this clearly is a bug, let's
fix it. There's quite possibly more wrong than just this though.
While fiddling with WalSndDone(), I rewrote a hard to understand comment
about looking at the flush vs. the write position.
Reported-By: Nick Cleaton, Magnus Hagander
Author: Nick Cleaton
Discussion: CAFgz3kus=rC_avEgBV=+hRK5HYJ8vXskJRh8yEAbahJGTzF2VQ(at)mail(dot)gmail(dot)com
CABUevExsjROqDcD0A2rnJ6HK6FuKGyewJr3PL12pw85BHFGS2Q(at)mail(dot)gmail(dot)com
Backpatch: 9.4, were 5a991ef8 introduced the use of feedback messages
during shutdown.
Branch
------
REL9_5_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/2e1b4adf39178416740efba975757e413a9fb3f9
Modified Files
--------------
src/backend/replication/walsender.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2016-04-29 05:11:41 | pgsql: Remember asking for feedback during walsender shutdown. |
Previous Message | Andres Freund | 2016-04-29 05:11:38 | pgsql: Remember asking for feedback during walsender shutdown. |