Re: Add Information during standby recovery conflicts

From: Masahiko Sawada <masahiko(dot)sawada(at)2ndquadrant(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: "Drouvot, Bertrand" <bdrouvot(at)amazon(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add Information during standby recovery conflicts
Date: 2020-10-14 08:39:20
Message-ID: CA+fd4k4DTjgNXrgbQ7=2hVidG+inzqJUU2BziV=sL7yR0BmC=A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 14 Oct 2020 at 07:44, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
>
> On 2020-Oct-14, Masahiko Sawada wrote:
>
> > I've attached the patch as an idea of fixing the above comments as
> > well as the comment from Alvaro. I can be applied on top of v4 patch.
>
> One note about the translation stuff. Currently you have _("...") where
> the string is produced, and then ereport(.., errmsg("%s", str) where it
> is used. Both those things will attempt to translate the string, which
> isn't great. It is better if we only translate once. You have two
> options to fix this: one is to change _() to gettext_noop() (which marks
> the string for translation so that it appears in the message catalog,
> but it does not return the translation -- it returns the original, and
> then errmsg() translates at run time). The other is to change errmsg()
> to errmsg_internal() .. so the function returns the translated message
> and errmsg_internal() doesn't apply a translation.
>
> I prefer the first option, because if we ever include a server feature
> to log both the non-translated message alongside the translated one, we
> will already have both in hand.

Thanks, I didn't know that. So perhaps ATWrongRelkindError() has the
same translation problem? It uses _() when producing the message but
also uses errmsg().

I've attached the patch changed accordingly. I also fixed some bugs
around recovery conflicts on locks and changed the code so that the
log shows pids instead of virtual transaction ids since pids are much
easy to use for the users.

Regards,

--
Masahiko Sawada http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment Content-Type Size
v6-0001-Log-the-standby-recovery-conflict-waits.patch application/octet-stream 14.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2020-10-14 08:46:15 Re: Loose ends after CVE-2020-14350 (extension installation hazards)
Previous Message Michael Paquier 2020-10-14 08:18:51 Re: scram-sha-256 broken with FIPS and OpenSSL 1.0.2