Re: Outdated replication protocol error? - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Outdated replication protocol error?
Date
Msg-id 20210115215548.ct4ersu7pnwumyfa@alap3.anarazel.de
Whole thread Raw
In response to Re: Outdated replication protocol error?  (Fujii Masao <masao.fujii@oss.nttdata.com>)
Responses Re: Outdated replication protocol error?  (Jeff Davis <pgsql@j-davis.com>)
Re: Outdated replication protocol error?  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-hackers
Hi,

On 2021-01-14 16:40:26 +0900, Fujii Masao wrote:
> On 2021/01/12 9:06, Jeff Davis wrote:
> > Commit 5ee2197767 (about 4 years old) introduced the error:
> > 
> >    "IDENTIFY_SYSTEM has not been run before START_REPLICATION"
> > 
> > But it seems like running START_REPLICATION first works (at least in
> > the simple case).
> > 
> > We should either:
> > 
> > 1. Document that IDENTIFY_SYSTEM must always be run before
> > START_REPLICATION, and always issue a WARNING if that's not done (an
> > ERROR might break existing applications); or
> > 
> > 2. If the commit is out of date and no longer needed, or if it's easy
> > enough to fix, just remove the error (and Assert a valid
> > ThisTimeLineID).
> 
> +1 to remove the error if START_REPLICATION can always work fine without
> IDENTIFY_SYSTEM. I found that the error happens when we connect to the standby
> and just run START_REPLICATION without IDENTIFY_SYSTEM. But I'm not sure
> if IDENTIFY_SYSTEM is actually necessary even in that case.

The current approach seems quite bad to me too. By that point the value
could be just about arbitrarily out of date - but that doesn't really
matter because GetStandbyFlushRecPtr() updates it. And for the
!am_cascading_walsender it's trivial to compute.

Has anybody dug out the thread leading to the commit?

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Change default of checkpoint_completion_target
Next
From: Robert Haas
Date:
Subject: Re: Key management with tests