On Tue, 4 Jun 2019 at 21:28, Andres Freund <and...@anarazel.de> wrote: > > Hi, > > On 2019-06-04 15:51:01 +0530, Amit Khandekar wrote: > > After giving more thought on this, I think it might make sense to > > arrange for the xl_running_xact record to be sent from master to the > > standby, when a logical slot is to be created on standby. How about > > standby sending a new message type to the master, requesting for > > xl_running_xact record ? Then on master, ProcessStandbyMessage() will > > process this new message type and call LogStandbySnapshot(). > > I think that should be a secondary feature. You don't necessarily know > the upstream master, as the setup could be cascading one. Oh yeah, cascading setup makes it more complicated.
> I think for > now just having to wait, perhaps with a comment to manually start a > checkpoint, ought to suffice? Ok. Since this requires the test to handle the fire-create-slot-and-then-fire-checkpoint-from-master actions, I was modifying the test file to do this. After doing that, I found that the slave gets an assertion failure in XLogReadRecord()=>XRecOffIsValid(). This happens only when the restart_lsn is set to ReplayRecPtr. Somehow, this does not happen when I manually create the logical slot. It happens only while running testcase. Working on it ... -- Thanks, -Amit Khandekar EnterpriseDB Corporation The Postgres Database Company