Re: BUG #13671: pg_terminate_backend(pid) does not work

From: Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: oktogen(at)mail(dot)ru, "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #13671: pg_terminate_backend(pid) does not work
Date: 2015-10-11 23:58:56
Message-ID: CAJrrPGe_Aipx64=TUs_p=XLPaHRQwCbtvBJNa975mhb+wtARHw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Sat, Oct 10, 2015 at 12:36 AM, Andres Freund <andres(at)anarazel(dot)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

Attachment Content-Type Size
cancel_or_terminate_backend_doc.patch application/octet-stream 905 bytes

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Dave Page 2015-10-12 13:35:53 Re: BUG #13673: does not install the c++ runtime version
Previous Message jan.magnusson0 2015-10-11 18:33:40 BUG #13673: does not install the c++ runtime version