| From: | Jeff Davis <pgsql(at)j-davis(dot)com> | 
|---|---|
| To: | Andres Freund <andres(at)anarazel(dot)de>, Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com> | 
| Cc: | pgsql-hackers(at)postgresql(dot)org, Simon Riggs <simon(at)2ndquadrant(dot)com>, Craig Ringer <craig(dot)ringer(at)enterprisedb(dot)com> | 
| Subject: | Re: Outdated replication protocol error? | 
| Date: | 2021-06-16 22:59:11 | 
| Message-ID: | f006728a11086717a50c717e73488ab2c85f2d61.camel@j-davis.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Fri, 2021-01-15 at 13:55 -0800, Andres Freund wrote:
> > > 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.
[ digging up old thread ]
It seems everyone agrees that the current behavior is strange. Any
ideas on a solution here?
> Has anybody dug out the thread leading to the commit?
Regards,
	Jeff Davis
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2021-06-16 23:00:22 | Re: Split xlog.c | 
| Previous Message | Jeff Davis | 2021-06-16 22:55:46 | Re: Question about StartLogicalReplication() error path |