pgsql: Fix locking problem in _hash_squeezebucket() / _hash_freeovflpag

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix locking problem in _hash_squeezebucket() / _hash_freeovflpag
Date: 2016-12-19 17:35:13
Message-ID: E1cJ1qD-0000IG-7g@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix locking problem in _hash_squeezebucket() / _hash_freeovflpage().

A bucket squeeze operation needs to lock each page of the bucket
before releasing the prior page, but the previous coding fumbled the
locking when freeing an overflow page during a bucket squeeze
operation. Commit 6d46f4783efe457f74816a75173eb23ed8930020
introduced this bug.

Amit Kapila, with help from Kuntal Ghosh and Dilip Kumar, after
an initial trouble report by Jeff Janes. Reviewed by me. I also
fixed a problem with a comment.

Branch
------
master

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

Modified Files
--------------
src/backend/access/hash/hashovfl.c | 41 +++++++++++---------------------------
src/include/access/hash.h | 2 +-
2 files changed, 13 insertions(+), 30 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2016-12-19 18:50:00 pgsql: Fix handling of phrase operator removal while removing tsquery s
Previous Message Robert Haas 2016-12-19 16:30:53 pgsql: Remove unused file.