Re: Outdated replication protocol error?
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Andres Freund <andres@anarazel.de>, Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: pgsql-hackers@postgresql.org, Simon Riggs <simon@2ndquadrant.com>, Craig Ringer <craig.ringer@enterprisedb.com>
Date: 2021-06-16T22:59:11Z
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? https://www.postgresql.org/message-id/CAMsr%2BYEN04ztb%2BSDb_UfD72Kg5M3F%2BCpad31QBKT2rRjysmxRg%40mail.gmail.com Regards, Jeff Davis
Commits
-
Eliminate replication protocol error related to IDENTIFY_SYSTEM.
- 8e7811e952b4 15.0 landed
-
Ensure ThisTimeLineID is valid before START_REPLICATION
- 5ee2197767f6 10.0 cited