Buffer pin leak in hash index bucket splits

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Buffer pin leak in hash index bucket splits
Date: 2026-10-11 04:41:36
Message-ID: CAH2-Wz=b9sSBv15HsgZAuazjJu8-YRGHOpLjvp+dJgEDaBx0Ng@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

During review of what became bugfix commit 173cf85a, Claude Code found
an unrelated bug in hash index bucket splits.

Attached bug fix patch adds an isolation test demonstrating the
problem; with the fix itself reverted, running the Claude-authored
test shows a buffer pin leak. The leak is caused by _hash_finish_split
neglecting to release a pin on the primary bucket buffer in its
failure paths, used when a cleanup lock cannot be acquired. The fix
just has _hash_finish_split release the pin in those paths.

I doubt that it's worth committing the test itself. It'll add test
cycles for a trivial issue, that's unlikely to ever regress in the
future.

--
Peter Geoghegan

Attachment Content-Type Size
v1-0001-Fix-hash-bucket-split-buffer-pin-leak.patch application/octet-stream 6.9 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2026-10-11 05:14:36 Re: Fix WITHOUT OVERLAPS multirange with location replication
Previous Message kedar anavardekar 2026-10-11 04:31:06 Re: Fix WITHOUT OVERLAPS multirange with location replication