pg_ctl inappropriately timing out?
Folks:
Issue: pg_ctl seems to be prematurely timing out.
Version: 8.0.3
Severity: Annoying
Description:
1. Do an immense load on a database, like 2.5gb.
2. Right after the COPY finishes, send a pg_ctl -m fast stop to the server.
3. You will get:
pg_ctl: postmaster does not shut down
What Seems To Be Happening:
When you call pg_ctl --stop, the WAL is still writing out to the database
and postmaster won't shut down until it's done, which can take a couple
minutes. In the meantime, pg_ctl is timing out and prematurely reporting
failure.
Resolution:
Not sure, really. Is there some way for pg_ctl to intelligently detect
this situation? To set a timeout value for pg_ctl via a command-line
option?
--
--Josh
Josh Berkus
Aglio Database Solutions
San Francisco
On Tue, Jun 07, 2005 at 04:16:49PM -0700, Josh Berkus wrote:
Folks:
Issue: pg_ctl seems to be prematurely timing out.
Version: 8.0.3
Severity: Annoying
Description:
1. Do an immense load on a database, like 2.5gb.
2. Right after the COPY finishes, send a pg_ctl -m fast stop to the server.
3. You will get:
pg_ctl: postmaster does not shut downWhat Seems To Be Happening:
When you call pg_ctl --stop, the WAL is still writing out to the database
and postmaster won't shut down until it's done, which can take a couple
minutes. In the meantime, pg_ctl is timing out and prematurely reporting
failure.Resolution:
Not sure, really. Is there some way for pg_ctl to intelligently detect
this situation? To set a timeout value for pg_ctl via a command-line
option?
Is there any way for pg_ctl to detect a "server is shutting down"
message? Not sure what it'd do with it though ...
--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"Escucha y olvidar�s; ve y recordar�s; haz y entender�s" (Confucio)
Alvaro Herrera <alvherre@surnet.cl> writes:
On Tue, Jun 07, 2005 at 04:16:49PM -0700, Josh Berkus wrote:
When you call pg_ctl --stop, the WAL is still writing out to the database
and postmaster won't shut down until it's done, which can take a couple
minutes.
Is there any way for pg_ctl to detect a "server is shutting down"
message? Not sure what it'd do with it though ...
It strikes me that the server shouldn't ever get a couple minutes behind
on writing dirty buffers; this seems more like a bgwriter configuration
issue than pg_ctl's fault. Consider that in a standard Unix
configuration you will get about 20 seconds between SIGTERM and SIGKILL
when init wants to shut you down ...
regards, tom lane
Tom,
It strikes me that the server shouldn't ever get a couple minutes behind
on writing dirty buffers; this seems more like a bgwriter configuration
issue than pg_ctl's fault. Consider that in a standard Unix
configuration you will get about 20 seconds between SIGTERM and SIGKILL
when init wants to shut you down ...
Well, I can run an actual timer if you like. But it's definitely more than
20 seconds. And we're using the default bgwriter config, perhaps I should
set it to 0?
--
Josh Berkus
Aglio Database Solutions
San Francisco