Unresponsive vacuum process

Started by Ed L.almost 22 years ago5 messagesgeneral
Jump to latest
#1Ed L.
pgsql@bluepolka.net

I have a 7.2.1 backend running VACUUM which appears to be blocking all other
processes. I have issued SIGTERM and SIGINT directly to that backend and
also killed the client process, but the VACUUM continues chewing up CPU and
blocking others. I know we need an upgrade; does anyone know how I can get
this VACUUM backend killed without taking down all the blocked/pending
UPDATEs and INSERTs?

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ed L. (#1)
Re: Unresponsive vacuum process

"Ed L." <pgsql@bluepolka.net> writes:

I have a 7.2.1 backend running VACUUM which appears to be blocking all other
processes. I have issued SIGTERM and SIGINT directly to that backend and
also killed the client process, but the VACUUM continues chewing up CPU and
blocking others.

Hmph. AFAICS 7.2 does contain CHECK_FOR_INTERRUPT calls within all the
major VACUUM loops, so it should respond to SIGINT in a reasonably
timely fashion. I'd think it was blocked on someone else's lock if it
weren't that you say it's still consuming CPU. Can you attach to the
troublesome backend with gdb and get a stack trace to show where it is?

regards, tom lane

#3Ed L.
pgsql@bluepolka.net
In reply to: Tom Lane (#2)
Re: Unresponsive vacuum process

On Wednesday May 19 2004 5:49, Tom Lane wrote:

"Ed L." <pgsql@bluepolka.net> writes:

I have a 7.2.1 backend running VACUUM which appears to be blocking all
other processes. I have issued SIGTERM and SIGINT directly to that
backend and also killed the client process, but the VACUUM continues
chewing up CPU and blocking others.

Hmph. AFAICS 7.2 does contain CHECK_FOR_INTERRUPT calls within all the
major VACUUM loops, so it should respond to SIGINT in a reasonably
timely fashion. I'd think it was blocked on someone else's lock if it
weren't that you say it's still consuming CPU. Can you attach to the
troublesome backend with gdb and get a stack trace to show where it is?

Had to kill it, couldn't wait. Looks like we'll punt this one and just
upgrade the cluster, but if not, I'll try to capture. Thanks.

#4Wes
wespvp@syntegra.com
In reply to: Tom Lane (#2)
Re: Unresponsive vacuum process

On 5/19/04 6:49 PM, "Tom Lane" <tgl@sss.pgh.pa.us> wrote:

I have a 7.2.1 backend running VACUUM which appears to be blocking all other
processes. I have issued SIGTERM and SIGINT directly to that backend and
also killed the client process, but the VACUUM continues chewing up CPU and
blocking others.

Hmph. AFAICS 7.2 does contain CHECK_FOR_INTERRUPT calls within all the
major VACUUM loops, so it should respond to SIGINT in a reasonably
timely fashion. I'd think it was blocked on someone else's lock if it
weren't that you say it's still consuming CPU. Can you attach to the
troublesome backend with gdb and get a stack trace to show where it is?

I've had 7.4.1 take up to an hour and a half to abort a vacuum after a
SIGNIT.

Wes

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Wes (#4)
Re: Unresponsive vacuum process

<wespvp@syntegra.com> writes:

On 5/19/04 6:49 PM, "Tom Lane" <tgl@sss.pgh.pa.us> wrote:

... I'd think it was blocked on someone else's lock if it
weren't that you say it's still consuming CPU. Can you attach to the
troublesome backend with gdb and get a stack trace to show where it is?

I've had 7.4.1 take up to an hour and a half to abort a vacuum after a
SIGNIT.

The request for information still stands. I can't do a thing with
undetailed anecdotes.

regards, tom lane