On 27 June 2017 at 13:24, Craig Ringer <cr...@2ndquadrant.com> wrote:
> On 21 June 2017 at 17:30, sanyam jain <sanyamjai...@live.in> wrote: > > Hi, > > After changing > > sendTimeLineIsHistoric = state->currTLI == ThisTimeLineID; > > to > > sendTimeLineIsHistoric = state->currTLI != ThisTimeLineID; > > > > I was facing another issue. > > On promotion of a cascaded server ThisTimeLineID in the standby server > > having logical slot becomes 0. > > Then i added a function call to GetStandbyFlushRecPtr in > > StartLogicalReplication which updates ThisTimeLineID. > > > > After the above two changes timeline following is working.But i'm not > sure > > whether this is correct or not.In any case please someone clarify. > > That's a reasonable thing to do, and again, I thought I did it in a > later revision, but apparently not (?). I've been working on other > things and have lost track of progress here a bit. > > I'll check more closely. > > Hi all. I've had to backburner this due to other work. In the process of looking into an unrelated bug recently though, I noticed that the way we handle snapshots may not be safe for historic snaphots on a standby. Historic snapshots don't ever set takenDuringRecovery, which allows heapgetpage to trust PD_IS_VISIBLE on a page. According to comments on heapgetpage that could be an issue. Minor compared to some of the other things that'll come up when finishing this off, but worth remembering. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services