During recovery, if we reach consistent state and still have entries in the
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 2 Dec 2011 08:49:54 +0000 (10:49 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 2 Dec 2011 08:49:54 +0000 (10:49 +0200)
commit1e616f639156b2431725f7823c999486ca46c1ea
treef8e2cbade787fb90a73f68c3f9a9ff8fa03d9cd1
parent15a5006aac1432da35ff6a7ae27a018ed300e860
During recovery, if we reach consistent state and still have entries in the
invalid-page hash table, PANIC immediately. Immediate PANIC is much better
than waiting for end-of-recovery, which is what we did before, because the
end-of-recovery might not come until months later if this is a standby
server.

Also refrain from creating a restartpoint if there are invalid-page entries
in the hash table. Restarting recovery from such a restartpoint would not
see the invalid references, and wouldn't be able to cross-check them when
consistency is reached. That wouldn't matter when things are going smoothly,
but the more sanity checks you have the better.

Fujii Masao
src/backend/access/transam/xlog.c
src/backend/access/transam/xlogutils.c
src/include/access/xlog.h
src/include/access/xlogutils.h