pg_ctl inappropriately timing out?

Started by Josh Berkusalmost 21 years ago4 messagesbugs
Jump to latest
#1Josh Berkus
josh@agliodbs.com

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

#2Alvaro Herrera
alvherre@surnet.cl
In reply to: Josh Berkus (#1)
Re: pg_ctl inappropriately timing out?

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 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?

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)

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#2)
Re: pg_ctl inappropriately timing out?

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

#4Josh Berkus
josh@agliodbs.com
In reply to: Tom Lane (#3)
Re: pg_ctl inappropriately timing out?

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