Bug was masked by error in running 004_timeline_switch.pl that was
fixed recently in
7d68f2281a.
Detective work by Alvaro Herrera and Tom Lane
Author: Thomas Munro
WalTimeSample prev = LagTracker.last_read[head];
WalTimeSample next = LagTracker.buffer[LagTracker.read_heads[head]];
- Assert(lsn >= prev.lsn);
+ if (lsn < prev.lsn)
+ {
+ /*
+ * Reported LSNs shouldn't normally go backwards, but it's
+ * possible when there is a timeline change. Treat as not
+ * found.
+ */
+ return -1;
+ }
+
Assert(prev.lsn < next.lsn);
if (prev.time > next.time)