Skip site navigation (1) Skip section navigation (2)

Re: backend hangs at immediate shutdown

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Tatsuo Ishii <ishii(at)postgresql(dot)org>, maumau307(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: backend hangs at immediate shutdown
Date: 2013-01-31 00:39:58
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
Andres Freund <andres(at)2ndquadrant(dot)com> writes:
> On 2013-01-31 08:27:13 +0900, Tatsuo Ishii wrote:
>> What about adding a caution to the doc something like:
>> "pg_ctl -m -i stop" may cause a PostgreSQL hang if native laguage support enabled.

> That doesn't entirely solve the problem, see quote and reply in
> 6845(dot)1359561252(at)sss(dot)pgh(dot)pa(dot)us

> I think adding errmsg_raw() or somesuch that doesn't allocate any memory
> and only accepts constant strings could solve the problem more
> completely, at the obvious price of not allowing translated strings
> directly.

I really doubt that this would make a measurable difference in the
probability of failure.  The OP's case looks like it might not have
occurred if we weren't translating, but (a) that's not actually proven,
and (b) there are any number of other, equally low-probability, reasons
to have a problem here.  Please note for instance that elog.c would
still be doing a whole lot of palloc's even if the passed strings were
not copied.

I think if we want to make it bulletproof we'd have to do what the
OP suggested and switch to SIGKILL.  I'm not enamored of that for the
reasons I mentioned --- but one idea that might dodge the disadvantages
is to have the postmaster wait a few seconds and then SIGKILL any
backends that hadn't exited.

			regards, tom lane

In response to


pgsql-hackers by date

Next:From: Tatsuo IshiiDate: 2013-01-31 00:40:12
Subject: Re: backend hangs at immediate shutdown
Previous:From: Andres FreundDate: 2013-01-30 23:36:53
Subject: Re: backend hangs at immediate shutdown

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group