pgsql: hash: Fix write-ahead logging bugs related to init forks.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: hash: Fix write-ahead logging bugs related to init forks.
Date: 2017-07-17 16:07:44
Message-ID: E1dX8Yi-00022O-Qe@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

hash: Fix write-ahead logging bugs related to init forks.

One, logging for CREATE INDEX was oblivious to the fact that when
an unlogged table is created, *only* operations on the init fork
should be logged.

Two, init fork buffers need to be flushed after they are written;
otherwise, a filesystem-level copy following recovery may do the
wrong thing. (There may be a better fix for this issue than the
one used here, but this is transposed from the similar logic already
present in XLogReadBufferForRedoExtended, and a broader refactoring
after beta2 seems inadvisable.)

Amit Kapila, reviewed by Ashutosh Sharma, Kyotaro Horiguchi,
and Michael Paquier

Discussion: http://postgr.es/m/CAA4eK1JpcMsEtOL_J7WODumeEfyrPi7FPYHeVdS7fyyrCrgp4w@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/09c2e7cd2ff0b884625c37ce8249832820c58710

Modified Files
--------------
src/backend/access/hash/hash_xlog.c | 27 +++++++++++++++++++++++++++
src/backend/access/hash/hashpage.c | 23 ++++++++++++++++-------
2 files changed, 43 insertions(+), 7 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2017-07-17 19:25:31 pgsql: Use usleep instead of select for timeouts in PostgresNode.pm
Previous Message Noah Misch 2017-07-17 06:17:39 pgsql: MSVC: Don't link libpgcommon into pgcrypto.