pgsql: In clog_redo(), don't set XactCtl->shared->latest_page_number.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: In clog_redo(), don't set XactCtl->shared->latest_page_number.
Date: 2021-01-27 18:13:44
Message-ID: E1l4pK4-0006XK-PH@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

In clog_redo(), don't set XactCtl->shared->latest_page_number.

The comment is no longer accurate, and hasn't been entirely accurate
since Hot Standby was introduced. The original idea here was that
StartupCLOG() wouldn't be called until the end of recovery and
therefore this value would be uninitialized when this code is reached,
but Hot Standby made that true only when hot_standby=off, and commit
1f113abdf87cd085dee3927960bb4f70442b7250 means that this value is now
always initialized before replay even starts.

The original purpose of this code was to bypass the sanity check
in SimpleLruTruncate(), which will no longer occur: now, if something
is wrong, that sanity check might trip during recovery. That's
probably a good thing, because in the current code base
latest_page_number should always be initialized and therefore we
expect that the sanity check should pass. If it doesn't, something
has gone wrong, and complaining about it is appropriate.

Patch by me, reviewed by Heikki Linnakangas.

Discussion: http://postgr.es/m/CA+TgmoZYig9+AQodhF5sRXuKkJ=RgFDugLr3XX_dz_F-p=TwTg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0fcc2decd485a61321a3220d8f76cb108b082009

Modified Files
--------------
src/backend/access/transam/clog.c | 6 ------
1 file changed, 6 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2021-01-27 20:57:57 pgsql: In TrimCLOG(), don't reset XactCtl->shared->latest_page_number.
Previous Message Tom Lane 2021-01-27 17:50:34 pgsql: Doc: improve documentation for UNNEST().