Re: Wierd panic with 7.4.7

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Wierd panic with 7.4.7
Дата
Msg-id 11752.1119942518@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Wierd panic with 7.4.7  ("Joshua D. Drake" <jd@commandprompt.com>)
Ответы Re: Wierd panic with 7.4.7  ("Joshua D. Drake" <jd@commandprompt.com>)
Re: Wierd panic with 7.4.7  (Greg Stark <gsstark@mit.edu>)
Список pgsql-hackers
"Joshua D. Drake" <jd@commandprompt.com> writes:
> 2005-06-27 16:37:53 ERROR:  could not send data to client: Broken pipe
> 2005-06-27 16:37:53 PANIC:  cannot abort transaction 146017848, it was 
> already committed

A reasonable guess as to what happened there is:

1. Client process dies just as server is committing a transaction on its  behalf.

2. For some reason, server tries to send a message to client while it's  doing post-commit cleanup (before it gets to
thepoint of resetting  its state to show that it's not in the transaction anymore).
 

3. Kernel rejects message, causing elog(ERROR), causing entry to  AbortTransaction, causing above panic.

There are a couple of big problems with this theory, though.  In the
first place, there aren't any messages sent to the client during
post-commit; unless possibly it's an error message due to a failure
during post-commit, and that should have shown up in the server log.
In the second place, we don't treat communication failures as ERRORs,
so how did step 3 happen?

Do you know what the dead client was doing?  Can you reproduce this?
        regards, tom lane


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

Предыдущее
От: ITAGAKI Takahiro
Дата:
Сообщение: Re: [PATCHES] O_DIRECT for WAL writes
Следующее
От: "Dave Page"
Дата:
Сообщение: Re: For review: Server instrumentation patch