From: | Craig Ringer <craig(at)2ndquadrant(dot)com> |
---|---|
To: | Ants Aasma <ants(dot)aasma(at)eesti(dot)ee> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Replication slot xmin is not reset if HS feedback is turned off while standby is shut down |
Date: | 2016-12-21 13:32:18 |
Message-ID: | CAMsr+YFCdcT76WMkBq954m7LUBx09f1cYNeCjB9hX8f_nbBtOA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 21 December 2016 at 21:03, Ants Aasma <ants(dot)aasma(at)eesti(dot)ee> wrote:
> There was a !HotStandbyActive() check there previously, I was not sure
> if it was only to avoid sending useless messages or was necessary
> because something was not initialized otherwise. Looks like it is not
> needed and can be removed. Revised patch that does so attached.
Ah, see, I'm blind. Too much multi-tasking. Turns out patch review
with a toddler's help is hard ;)
HotStandbyActive() call is actually just checking if we're still in
crash or archive recovery, per
/*
* SharedHotStandbyActive indicates if we're still in crash or archive
* recovery. Protected by info_lck.
*/
bool SharedHotStandbyActive;
so it is appropriate to defer any hot standby feedback until then. By
that point we've definitely finished setting up replication slots for
one thing, and know for sure if we have something useful to say and
won't send the wrong thing.
It looks to me like we should continue to bail out if !HotStandbyActive() . The
Assert(!master_has_standby_xmin)
can go, since there's now a valid case where master_has_standby_xmin
can be true before HotStandbyActive() is true.
Here's a revised version. I haven't run it against your tests yet.
--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
Attachment | Content-Type | Size |
---|---|---|
send-hot-standby-feedback-on-first-connect-v3.patch | text/x-patch | 2.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Stas Kelvich | 2016-12-21 13:37:07 | Re: Speedup twophase transactions |
Previous Message | Heikki Linnakangas | 2016-12-21 13:25:49 | Re: Logical tape pause/resume |