From ae0634b7beea1777d734e66089b8eb45cd656861 Mon Sep 17 00:00:00 2001 From: Em Sharnoff Date: Thu, 28 Sep 2023 00:52:39 -0700 Subject: [PATCH 1/2] Bump vm-builder v0.17.11 -> v0.17.12 (#5407) Only relevant change is neondatabase/autoscaling#534 - refer there for more details. --- .github/workflows/build_and_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 7271a8d29f..65a2101dc6 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -834,7 +834,7 @@ jobs: run: shell: sh -eu {0} env: - VM_BUILDER_VERSION: v0.17.11 + VM_BUILDER_VERSION: v0.17.12 steps: - name: Checkout From 72aa6b9fdd5b0ccbfe6aec8add2d7a951d4cc5a3 Mon Sep 17 00:00:00 2001 From: MMeent Date: Wed, 27 Sep 2023 13:48:30 +0200 Subject: [PATCH 2/2] Fix neon_zeroextend's WAL logging (#5387) When you log more than a few blocks, you need to reserve the space in advance. We didn't do that, so we got errors. Now we do that, and shouldn't get errors. --- pgxn/neon/pagestore_smgr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pgxn/neon/pagestore_smgr.c b/pgxn/neon/pagestore_smgr.c index 919bca03e9..2e4364cbfa 100644 --- a/pgxn/neon/pagestore_smgr.c +++ b/pgxn/neon/pagestore_smgr.c @@ -1790,6 +1790,14 @@ neon_zeroextend(SMgrRelation reln, ForkNumber forkNum, BlockNumber blocknum, if (!XLogInsertAllowed()) return; + /* ensure we have enough xlog buffers to log max-sized records */ + XLogEnsureRecordSpace(Min(remblocks, (XLR_MAX_BLOCK_ID - 1)), 0); + + /* + * Iterate over all the pages. They are collected into batches of + * XLR_MAX_BLOCK_ID pages, and a single WAL-record is written for each + * batch. + */ while (remblocks > 0) { int count = Min(remblocks, XLR_MAX_BLOCK_ID);