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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Mason Hale" <mason(at)onespot(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5459: Unable to cancel query while in send()
Date: 2010-05-12 01:44:16
Message-ID: 5744.1273628656@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Mason Hale" <mason(at)onespot(dot)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.

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.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bryan Henderson 2010-05-12 01:55:17 Re: bool: symbol name collision
Previous Message Robert Haas 2010-05-11 22:33:41 Re: bool: symbol name collision