Re: backend hangs at sendto() and can't be terminated

Поиск
Список
Период
Сортировка
От Jov
Тема Re: backend hangs at sendto() and can't be terminated
Дата
Msg-id CADyrUxO1g7mEGbPrWiEtseJ3UG0US374RehOWkvDUbbp0U4pUw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: backend hangs at sendto() and can't be terminated  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: backend hangs at sendto() and can't be terminated  (Steven Schlansker <steven@likeness.com>)
Re: backend hangs at sendto() and can't be terminated  (Steven Schlansker <steven@likeness.com>)
Список pgsql-general
n
etstat show nothing about the socket of the process,so I think the TCP timeout took effect.so it is really wired.



2013/7/8 Tom Lane <tgl@sss.pgh.pa.us>
Merlin Moncure <mmoncure@gmail.com> writes:
> On Mon, Jul 8, 2013 at 4:56 AM, Jov <amutu@amutu.com> wrote:
>> my first post already try the pg_terminate_backend but failed:
>> pg_terminate_backend return t but the backend still there.

> possibly a kernel problem?

The backend will keep trying to send data until the kernel informs it
the connection is lost.  (Anything else would be a bad idea.)  So the
real question here is why it's taking so long for the TCP stack to
decide that the client is gone.  I'm wondering what exactly you did
to kill the psql session.  Most ordinary ways of killing a process
should result in closure of whatever connections it had open.

If you'd lost network connectivity to the client, a TCP timeout on the
order of an hour wouldn't be surprising.  (If you feel this is too long,
you can fool with the TCP keepalive parameters.)  But it seems unlikely
that that's what's happening here.

                        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: backend hangs at sendto() and can't be terminated
Следующее
От: John DeSoi
Дата:
Сообщение: replication stops working