pgsql: Fix a couple of bugs with wal_log_hints.

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix a couple of bugs with wal_log_hints.
Date: 2015-06-26 09:44:16
Message-ID: E1Z8QBE-0001fn-M6@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix a couple of bugs with wal_log_hints.

1. Replay of the WAL record for setting a bit in the visibility map
contained an assertion that a full-page image of that record type can only
occur with checksums enabled. But it can also happen with wal_log_hints, so
remove the assertion. Unlike checksums, wal_log_hints can be changed on the
fly, so it would be complicated to figure out if it was enabled at the time
that the WAL record was generated.

2. wal_log_hints has the same effect on the locking needed to read the LSN
of a page as data checksums. BufferGetLSNAtomic() didn't get the memo.

Backpatch to 9.4, where wal_log_hints was added.

Branch
------
REL9_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/b6c4b58ac52aa9046c45bd8c2c9fc8925087c8d3

Modified Files
--------------
src/backend/access/heap/heapam.c | 15 +++++++--------
src/backend/storage/buffer/bufmgr.c | 2 +-
2 files changed, 8 insertions(+), 9 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2015-06-26 13:42:46 pgsql: Improve handling of CustomPath/CustomPlan(State) children.
Previous Message Robert Haas 2015-06-25 20:57:31 pgsql: Allow background workers to connect to no particular database.