Re: Queries that should be canceled will get stuck on secure_write function

From: "Andres Freund" <andres(at)anarazel(dot)de>
To: "Robert Haas" <robertmhaas(at)gmail(dot)com>
Cc: "Fujii Masao" <masao(dot)fujii(at)oss(dot)nttdata(dot)com>, "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, 蔡梦娟(玊于) <mengjuan(dot)cmj(at)alibaba-inc(dot)com>, pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Queries that should be canceled will get stuck on secure_write function
Date: 2021-08-27 20:10:14
Message-ID: b209a5d7-f7ef-4272-9fd2-111495f8bfc4@www.fastmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Fri, Aug 27, 2021, at 13:07, Robert Haas wrote:
> On Fri, Aug 27, 2021 at 3:24 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > I wonder if we could improve the situation somewhat by using the non-blocking
> > pqcomm functions in a few select places. E.g. if elog.c's
> > send_message_to_frontend() sent its message via a new pq_endmessage_noblock()
> > (which'd use the existing pq_putmessage_noblock()) and used
> > pq_flush_if_writable() instead of pq_flush(), we'd a) not block sending to the
> > client before AbortCurrentTransaction(), b) able to queue further error
> > messages safely.
>
> pq_flush_if_writable() could succeed in sending only part of the data,
> so I don't see how this works.

All the data is buffered though, so I don't see that problem that causes?

Andres

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bossart, Nathan 2021-08-27 20:16:40 Re: Estimating HugePages Requirements?
Previous Message Robert Haas 2021-08-27 20:07:02 Re: Queries that should be canceled will get stuck on secure_write function