pgsql: Don't set reachedMinRecoveryPoint during crash recovery. In cras

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Don't set reachedMinRecoveryPoint during crash recovery. In cras
Date: 2011-12-09 13:55:51
Message-ID: E1RZ0vX-0005HN-MP@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Don't set reachedMinRecoveryPoint during crash recovery. In crash recovery,
we don't reach consistency before replaying all of the WAL. Rename the
variable to reachedConsistency, to make its intention clearer.

In master, that was an active bug because of the recent patch to
immediately PANIC if a reference to a missing page is found in WAL after
reaching consistency, as Tom Lane's test case demonstrated. In 9.1 and 9.0,
the only consequence was a misleading "consistent recovery state reached at
%X/%X" message in the log at the beginning of crash recovery (the database
is not consistent at that point yet). In 8.4, the log message was not
printed in crash recovery, even though there was a similar
reachedMinRecoveryPoint local variable that was also set early. So,
backpatch to 9.1 and 9.0.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/9f0d2bdc88630781485a17178e2b50e49ce70040

Modified Files
--------------
src/backend/access/transam/xlog.c | 21 +++++++++++++++++----
src/backend/access/transam/xlogutils.c | 2 +-
src/include/access/xlog.h | 2 +-
3 files changed, 19 insertions(+), 6 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2011-12-09 18:43:38 pgsql: Add ALTER FOREIGN DATA WRAPPER / RENAME and ALTER SERVER / RENAM
Previous Message Heikki Linnakangas 2011-12-09 12:26:54 pgsql: Cancel running query if it is detected that the connection to th