On Sat, Oct 10, 2015 at 12:36 AM, Andres Freund <andres@anarazel.de> wrote:
> On 2015-10-09 19:56:16 +1100, Haribabu Kommi wrote:
>> Thanks for the bug report. This issue happens only for version 9.4 and below.
>> In 9.5 and Head branches, because of the following commit, that introduces the
>> wait logic in reading/writing from client, thus it detects the interrupts and
>> terminates the backend. But in version 9.4 and below, the wait logic
>> doesn't exist
>
>> because of this reason, the backend is not terminated.
>>
>> commit - 80788a431e9bff06314a054109fdea66ac538199
>> Simplify waiting logic in reading from / writing to client.
>
> Are you sure that it is this commit? That's just unifying existing
> logic between ssl/nossl, no?
Yes, The above commit is just unifying the logic between ssl/nossl.
In a quick look, I though that the above commit has introduced the wait logic.
But actually the following commits has introduced the wait logic.
commit- 387da18874afa17156ee3af63766f17efb53c4b9
Use a nonblocking socket for FE/BE communication and block using latches.
commit - 4f85fde8eb860f263384fffdca660e16e77c7f76
Introduce and use infrastructure for interrupt processing during client reads.
>> Similar fix is needed in the back branches. Comments?
>
> I don't think we easily can - the whole interrupt/signal handling
> overhaul was quite invasive.
Thanks for the details. I understand the difficulty.
Is it worth of adding a note in the documentation section of administration
functions such as cancel and terminate backend functions like the attached?
Regards,
Hari Babu
Fujitsu Australia