summaryrefslogtreecommitdiff
path: root/src/interfaces
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2012-11-22 11:23:46 +0200
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2012-11-22 11:42:18 +0200
commit875d3f3039f09ba74f442ceb95411e3a75f18048 (patch)
tree13cc34308ea88ba57d19503baf94537f076c5178 /src/interfaces
parent2a18b3ed36ffe5cd365121fb9b00b3d64748f527 (diff)
Avoid bogus "out-of-sequence timeline ID" errors in standby-mode.
When startup process opens a WAL segment after replaying part of it, it validates the first page on the WAL segment, even though the page it's really interested in later in the file. As part of the validation, it checks that the TLI on the page header is >= the TLI it saw on the last page it read. If the segment contains a timeline switch, and we have already replayed it, and then re-open the WAL segment (because of streaming replication got disconnected and reconnected, for example), the TLI check will fail when the first page is validated. Fix that by relaxing the TLI check when re-opening a WAL segment. Backpatch to 9.0. Earlier versions had the same code, but before standby mode was introduced in 9.0, recovery never tried to re-read a segment after partially replaying it. Reported by Amit Kapila, while testing a new feature.
Diffstat (limited to 'src/interfaces')
0 files changed, 0 insertions, 0 deletions