diff --git a/src/backend/access/hash/hashpage.c b/src/backend/access/hash/hashpage.c index 14bde24e4de..983941c237e 100644 --- a/src/backend/access/hash/hashpage.c +++ b/src/backend/access/hash/hashpage.c @@ -1438,12 +1438,14 @@ _hash_finish_split(Relation rel, Buffer metabuf, Buffer obuf, Bucket obucket, */ if (!ConditionalLockBufferForCleanup(obuf)) { + _hash_dropbuf(rel, bucket_nbuf); hash_destroy(tidhtab); return; } if (!ConditionalLockBufferForCleanup(bucket_nbuf)) { LockBuffer(obuf, BUFFER_LOCK_UNLOCK); + _hash_dropbuf(rel, bucket_nbuf); hash_destroy(tidhtab); return; }