On Wed, 2011-03-09 at 16:38 +0900, Fujii Masao wrote:
> On Wed, Mar 9, 2011 at 2:14 PM, Jaime Casanova <jaime@2ndquadrant.com> wrote:
> > On Tue, Mar 8, 2011 at 11:58 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> >>
> >> The fast shutdown handling seems fine, but why not just handle smart
> >> shutdown the same way?
> >
> > currently, smart shutdown means no new connections, wait until
> > existing ones close normally. for consistency, it should behave the
> > same for sync rep.
>
> Agreed. I think that user who wants to request smart shutdown expects all
> the existing connections to basically be closed normally by the client. So it
> doesn't seem to be good idea to forcibly close the connection and prevent
> the COMMIT from being returned in smart shutdown case. But I'm all ears
> for better suggestions.
>
> Anyway, we got the consensus about how fast shutdown should work with
> sync rep. So I created the patch. Please feel free to comment and commit
> the patch first ;)
We're just about to publish Alpha4 with this feature in.
If we release waiters too early we will cause effective data loss, that
part is agreed. We've also accepted that there are few ways to release
the waiters.
I want to release the first version as "safe" and then relax from there
after feedback. What I don't want to hear is lots of complaints or
arguments about data loss from the first version. We can relax later,
after some time and thought.
So for now, I don't want to apply this patch or other similar ones that
seek to release waiters in various circumstances. That isn't a rejection
of you, its just a wish to play it safe and slowly.
-- Simon Riggs http://www.2ndQuadrant.com/books/PostgreSQL Development, 24x7 Support, Training and Services