pgsql: Fix zeroing of pg_serial page without SLRU bank lock

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix zeroing of pg_serial page without SLRU bank lock
Date: 2024-04-03 15:53:28
Message-ID: E1rs2vY-000Jyn-2x@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix zeroing of pg_serial page without SLRU bank lock

Bug in commit 53c2a97a9266: we failed to acquire the correct SLRU bank
lock when iterating to zero-out intermediate pages in predicate.c.
Rewrite the code block so that we follow the locking protocol correctly.

Also update an outdated comment in the same file -- SerialSLRULock
exists no more.

Reported-by: Alexander Lakhin <exclusion(at)gmail(dot)com>
Reviewed-by: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Discussion: https://postgr.es/m/2a25eaf4-a3a4-5fd1-6241-9d7c73142085@gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/be2f0731006300876b008fd78a265471984cbcd9

Modified Files
--------------
src/backend/storage/lmgr/predicate.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2024-04-03 16:34:32 pgsql: Combine freezing and pruning steps in VACUUM
Previous Message Alexander Korotkov 2024-04-03 15:15:55 pgsql: Use the pairing heap instead of a flat array for LSN replay wait