Re: Issue in postgres_fdw causing unnecessary wait for cancel request reply

From: Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Issue in postgres_fdw causing unnecessary wait for cancel request reply
Date: 2023-04-13 18:04:24
Message-ID: 98758c23-849d-0602-b49d-43c94886df9b@oss.nttdata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2023/04/13 11:00, Kyotaro Horiguchi wrote:
> Agreed, it seems to be a leftover when we moved to parse_int_param()
> in that area.

It looks like there was an oversight in commit e7a2217978. I've attached a patch (0002) that updates PQconnectPoll() to use parse_int_param() for parsing the keepalives parameter.

As this change is not directly related to the bug fix, it may not be necessary to back-patch it to the stable versions, I think. Thought?

>> To clarify, are you suggesting that PQgetCancel() should
>> only parse the parameters for TCP connections
>> if cancel->raddr.addr.ss_family != AF_UNIX?
>> If so, I think that's a good idea.
>
> You're right. I used connip in the diff because I thought it provided
> the same condition, but in a simpler way.

I made a modification to the 0001 patch. It will now allow PQgetCancel() to parse and interpret TCP connection parameters only when the connection is not made through a Unix-domain socket.

> However, I notcied that PQgetCancel() doesn't set errbuf.. So, I'm
> fine with your proposal.

Ok.

>> I think it is important to inform the user when an error
>> occurs and a cancel request cannot be sent, as this information
>> can help them identify the cause of the problem (such as
>> setting an overly large value for the keepalives parameter).
>
> Although I view it as an internal error, I agree with emitting some
> error messages in that situation.

Ok.

Regards,

--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION

Attachment Content-Type Size
v2-0001-postgres_fdw-Fix-bug-causing-unnecessary-wait-for.patch text/plain 4.5 KB
v2-0002-Improve-PQconnectPoll-by-strictly-parsing-the-kee.patch text/plain 1.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2023-04-13 18:19:09 Re: Issue in postgres_fdw causing unnecessary wait for cancel request reply
Previous Message Gurjeet 2023-04-13 17:41:29 Re: pg_replslotdata - a tool for displaying replication slot information