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: Etsuro Fujita <etsuro(dot)fujita(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-14 14:28:11
Message-ID: 67cad2e7-f9c1-5eb0-a0be-99fd78571906@oss.nttdata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2023/04/14 18:59, Etsuro Fujita wrote:
>> The primary message basically should avoid reference to implementation details such as specific structure names like PGcancel, shouldn't it, as per the error message style guide?
>
> I do not think that PGcancel is that specific, as it is described in
> the user-facing documentation [1]. (In addition, the error message I
> proposed was created by copying the existing error message "could not
> create OpenSSL BIO structure" in contrib/sslinfo.c.)

I think that mentioning PGcancel in the error message could be confusing for average users who are just running a query on a foreign table and encounter the error message after pressing Ctrl-C. They may not understand why the PGcancel struct is referenced in the error message while accessing foreign tables. It could be viewed as an internal detail that is not necessary for the user to know.

>> Although the primary message is the same, the supplemental message provides additional context that can help distinguish which function is reporting the message.
>
> If the user is familiar with the PQgetCancel/PQcancel internals, this
> is true, but if not, I do not think this is always true. Consider
> this error message, for example:
>
> 2023-04-14 17:48:55.862 JST [24344] WARNING: could not send cancel
> request: invalid integer value "99999999999" for connection option
> "keepalives"
>
> It would be hard for users without the knowledge about those internals
> to distinguish that from this message. For average users, I think it
> would be good to use a more distinguishable error message.

In this case, I believe that they should be able to understand that an invalid integer value "99999999999" was specified in the "keepalives" connection option, which caused the warning message. Then, they would need to check the setting of the "keepalives" option and correct it if necessary.

Regards,

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2023-04-14 14:31:48 Where are we on supporting LLVM's opaque-pointer changes?
Previous Message Daniel Gustafsson 2023-04-14 14:20:57 Re: [PATCH] Add `verify-system` sslmode to use system CA pool for server cert