Re: BUG #5459: Unable to cancel query while in send() - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #5459: Unable to cancel query while in send()
Date
Msg-id 5744.1273628656@sss.pgh.pa.us
Whole thread Raw
In response to BUG #5459: Unable to cancel query while in send()  ("Mason Hale" <mason@onespot.com>)
Responses Re: BUG #5459: Unable to cancel query while in send()  (Andres Freund <andres@anarazel.de>)
Re: BUG #5459: Unable to cancel query while in send()  (Greg Stark <gsstark@mit.edu>)
List pgsql-bugs
"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.

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

pgsql-bugs by date:

Previous
From: bryanh@giraffe-data.com (Bryan Henderson)
Date:
Subject: Re: bool: symbol name collision
Next
From: bryanh@giraffe-data.com (Bryan Henderson)
Date:
Subject: Re: bool: symbol name collision