From: | Magnus Hagander <magnus(at)hagander(dot)net> |
---|---|
To: | Florian Pflug <fgp(at)phlo(dot)org> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Bug in walsender when calling out to do_pg_stop_backup (and others?) |
Date: | 2011-10-11 07:21:07 |
Message-ID: | CABUevEwBEgLJovHyhHcvXV5gj=OojscJBDfJxFuvn3M0FkMyqw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Oct 11, 2011 at 03:29, Florian Pflug <fgp(at)phlo(dot)org> wrote:
> On Oct10, 2011, at 21:25 , Magnus Hagander wrote:
>> On Thu, Oct 6, 2011 at 23:46, Florian Pflug <fgp(at)phlo(dot)org> wrote:
>>> It'd be nice to generally terminate a backend if the client vanishes, but so
>>> far I haven't had any bright ideas. Using FASYNC and F_SETOWN unfortunately
>>> sends a signal *everytime* the fd becomes readable or writeable, not only on
>>> EOF. Doing select() in CHECK_FOR_INTERRUPTS seems far too expensive. We could
>>> make the postmaster keep the fd's of around even after forking a backend, and
>>> make it watch for broken connections using select(). But with a large max_backends
>>> settings, we'd risk running out of fds in the postmaster...
>>
>> Ugh. Yeah. But at least catching it and terminating it when we *do*
>> notice it's down would certainly make sense...
>
> I'll try to put together a patch that sets a flag if we discover a broken
> connection in pq_flush, and tests that flag in CHECK_FOR_INTERRUPTS. Unless you
> wanna, of course.
Please do, I won't have time to even think about it until after
pgconf.eu anyway ;)
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Thom Brown | 2011-10-11 07:25:47 | Re: Range Types - typo + NULL string constructor |
Previous Message | jesper | 2011-10-11 06:42:02 | Re: COUNT(*) and index-only scans |