mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
Fix LagTrackerRead() for timeline increments
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
This commit is contained in:
@@ -3328,7 +3328,16 @@ LagTrackerRead(int head, XLogRecPtr lsn, TimestampTz now)
|
|||||||
WalTimeSample prev = LagTracker.last_read[head];
|
WalTimeSample prev = LagTracker.last_read[head];
|
||||||
WalTimeSample next = LagTracker.buffer[LagTracker.read_heads[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);
|
Assert(prev.lsn < next.lsn);
|
||||||
|
|
||||||
if (prev.time > next.time)
|
if (prev.time > next.time)
|
||||||
|
|||||||
Reference in New Issue
Block a user