summaryrefslogtreecommitdiff
path: root/src/backend/access/hash/hash_xlog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/hash/hash_xlog.c')
-rw-r--r--src/backend/access/hash/hash_xlog.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/backend/access/hash/hash_xlog.c b/src/backend/access/hash/hash_xlog.c
index e88213c7425..a24a1c39081 100644
--- a/src/backend/access/hash/hash_xlog.c
+++ b/src/backend/access/hash/hash_xlog.c
@@ -351,11 +351,10 @@ hash_xlog_split_allocate_page(XLogReaderState *record)
}
/* replay the record for new bucket */
- newbuf = XLogInitBufferForRedo(record, 1);
+ XLogReadBufferForRedoExtended(record, 1, RBM_ZERO_AND_CLEANUP_LOCK, true,
+ &newbuf);
_hash_initbuf(newbuf, xlrec->new_bucket, xlrec->new_bucket,
xlrec->new_bucket_flag, true);
- if (!IsBufferCleanupOK(newbuf))
- elog(PANIC, "hash_xlog_split_allocate_page: failed to acquire cleanup lock");
MarkBufferDirty(newbuf);
PageSetLSN(BufferGetPage(newbuf), lsn);