Re: BUG #5459: Unable to cancel query while in send()

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: BUG #5459: Unable to cancel query while in send()
Дата
Msg-id 201005121030.53490.andres@anarazel.de
обсуждение исходный текст
Ответ на Re: BUG #5459: Unable to cancel query while in send()  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: BUG #5459: Unable to cancel query while in send()  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
Hi,

On Wednesday 12 May 2010 03:44:16 Tom Lane wrote:
> "Mason Hale" <mason@onespot.com> writes:
> > ISSUE: unable to cancel queries using pg_cancel_backend(), that are in
> > send() function call, waiting on client receipt of data.
> I think what you are describing is a kernel bug.  There's not a lot
> we can do about it if the send() call hangs.  Considering the kernel
> already knows the connection is closed (per the CLOSE_WAIT state shown
> by netstat) the send() should return failure immediately, and it's not
> doing so.
I can reproduce the issue though when the connection just is very, very slow
(high packet loss). Uppon receiving a signal the send returns with EINTR uppon
which point I think a check for interrupts might be placed.

> There might be some TCP-level incompatibility involved between the
> database and gateway server TCP stacks, since the combination of the
> FIN_WAIT2 and CLOSE_WAIT states really ought not persist very long;
> but I'm not a network hacker so I'm a bit out of my depth in diagnosing
> that aspect of it.
There is a userland implementation (ssh) involved, so that does sound likely.

Andres

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

Предыдущее
От: bryanh@giraffe-data.com (Bryan Henderson)
Дата:
Сообщение: Re: bool: symbol name collision
Следующее
От: Russell Smith
Дата:
Сообщение: Re: PostgreSQL 8.4 - dumping database connection privileges