Re: IpcSemaphoreLock/Unlock and proc_exit on 7.2.6

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: IpcSemaphoreLock/Unlock and proc_exit on 7.2.6
Дата
Msg-id 28001.1100477902@sss.pgh.pa.us
обсуждение исходный текст
Ответ на IpcSemaphoreLock/Unlock and proc_exit on 7.2.6  (Kris Jurka <books@ejurka.com>)
Ответы Re: IpcSemaphoreLock/Unlock and proc_exit on 7.2.6
Список pgsql-hackers
Kris Jurka <books@ejurka.com> writes:
> I have an underpowered server running 7.2.6 that backs a website which
> occasionally gets hit by a bunch of traffic and starts firing off "FATAL
> 1:  Sorry, too many clients already" messages.  This is all as expected,
> but sometimes it just crashes.  I had no clue what was going on until I
> checked the stderr log (because I had set it up to use syslog).  In there
> I find a whole bunch of these:

> IpcSemaphoreLock: semop(id=-1) failed: Invalid argument

[ eyeballs code... ]  It looks like this could happen in 7.2 during exit
from a backend that failed to acquire a semaphore --- ProcKill does
things like LockReleaseAll, which needs to acquire the lockmanager LWLock,
which could try to block using the process semaphore if there's
contention for the LWLock.  The problem should be gone in 7.3 and later
due to reorganization of the semaphore management code.  I'm not sure
it's worth trying to fix in 7.2.* --- the odds of introducing new
problems seem too high, and we're not really maintaining 7.2 anymore
anyway.

The comment in ProcGetNewSemIdAndNum suggests that you might be able to
suppress the problem in 7.2 by using a different max_connections value.
Is your current value one less than a multiple of 16, by any chance?
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: GiST: PickSplit and multi-attr indexes
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: IpcSemaphoreLock/Unlock and proc_exit on 7.2.6