Commit 072521b8 authored by Simon Riggs's avatar Simon Riggs

Rely only on checkpoint 1 at end of recovery.

Searching for checkpoint 2 (previous) is not
correct in all cases.

Bug report from Heikki Linnakangas
parent e1c1e217
......@@ -5777,7 +5777,13 @@ StartupXLOG(void)
if (fast_promote)
{
checkPointLoc = ControlFile->prevCheckPoint;
record = ReadCheckpointRecord(xlogreader, checkPointLoc, 2, false);
/*
* Confirm the last checkpoint is available for us to recover
* from if we fail. Note that we don't check for the secondary
* checkpoint since that isn't available in most base backups.
*/
record = ReadCheckpointRecord(xlogreader, checkPointLoc, 1, false);
if (record != NULL)
{
checkpoint_wait = false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment