Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2jfn-000YFR-0Z for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Mar 2026 05:42:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2jfk-007fhN-2h for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Mar 2026 05:42:24 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2jfk-007fhE-1D for pgsql-hackers@lists.postgresql.org; Wed, 18 Mar 2026 05:42:24 +0000 Received: from mail-qk1-x731.google.com ([2607:f8b0:4864:20::731]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2jfh-00000000sTV-1aqG for pgsql-hackers@postgresql.org; Wed, 18 Mar 2026 05:42:23 +0000 Received: by mail-qk1-x731.google.com with SMTP id af79cd13be357-8cb4136d865so866642185a.1 for ; Tue, 17 Mar 2026 22:42:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773812540; cv=none; d=google.com; s=arc-20240605; b=c50318wyLN+BTnjJFR5j/dgujYjab4yFdFicu8eDPgAK/RpzrGXf0K4YTF57sacP4E G+usTPdHZZC2XzwMlJD5WxFi2AMvwSB8zzA2Cl0uzeyl57mk9SgH4EkItj+bB1U6d+B2 W3wrW5VMNqqfRLCmatfmsqzeAf/MjVM2UpEnMdiriS7OFk4h/NCd+Z6QqycGAtlsNK5L knZBvmpuWmuALI207jkkeeesAMGu7/P/ZyArXzip6w6K/TxA8Sou9JCH+kgz2Fw8lwrm BWi20IBT/IwE5JNG1Pq6+uisEOxf63nWVTzybVfcpoZgMR0sHTpukhpFqBlwzBoXPOBk Mabg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=wb/eYlbw935eW+j9115WvODoDGsb7KaYGJbkJjUHHvM=; fh=8BtrempshMHKyqFG1vFeU7XyF1nohGny4L51z7vDebw=; b=VH7IqODuV1cERpvEKeTFILiKWTj7yoIlGCK/H1gqROrqgrMGhZakzFuMbKhjmQ2grw L5F3HFmXcNCP8rH0VSXLsg4XaH58yoNvEbWTx6ZNQSDiG6MZMYyTotH9YTZ1HGOj0iiv bmbPFxx2E6X2OfV+1sGwNquohuZ7TsqUDJe4LR7PjozxS+WO+2Rg39Du/sIA4zXtP4al vbdn//Lq3w0MWLX8b08o9vrR6YMLbi0MMvxAPiYM/43/+HNRsZFPWbWqTjpyBznhouJG cXlbOuhQICFoZSb7dqCWUjCVIIY4XTaBu5SUzAEL53AgCKwSS71MV7Cc5UWgUWKQ+Pg2 RSRQ==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773812540; x=1774417340; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=wb/eYlbw935eW+j9115WvODoDGsb7KaYGJbkJjUHHvM=; b=bwSt4C5lzSNxW+nqbnjViP+XDINILApRR2sxiEMZcbNcgMLy0WA8R4vJUjCt4u2/En PBMnwxiA840t3dlBxAKWEZfRWq/WWAZIIYsxw1JlutveEcvoWz1SCOuHOEmKIOMhYS84 NsZRuq+jMtcFMSECar6TlTFTNzdD+/EzvfosqHKEdO2F73hgr0UQsYJ10FmSr/J6YAyc a5KWqzG30FiuBewwmSr862sB4uEIA5HZtXUpjkuMZLsykQfjXU1fIyi5cPcomsmTCAP9 c3fQOYRmdShNY4VWObA/P1Y2GTTUsFL7Vo9cYuOanSOkI6qoW6PIZWHyQ/TgJnjTMbbk BlUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773812540; x=1774417340; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wb/eYlbw935eW+j9115WvODoDGsb7KaYGJbkJjUHHvM=; b=iCnuweUM1F//j7z/Clmot3EWwsXL7Wp52poxg5OLDFYaDFTWTxTYvkRT/fBa9jrZao Vvy3xznalOpcrUGojOLgaabvPbTbdWCodZmqfbKFqUV/QIZT6KkLhOJDX1oX6BQOa7OL 8VTqXP81gVMva6irlU6RCLQ6rItB1RjkmmH5oNbQ8l5sdQtbkOfVFXTfI9OM/MV0sWL+ vuBh862o+Vvz/lyO+mIWV8LlkA6lLn+cY+vtJ48jrZn7823jxfEjT7V3cuKKtTvvePOU 9bO+QEBSTxM3FdPpg7GAJ8XwcT8bKHJ6F4dO6bHvAaGBT2suJfiZFwku02l+MQrUkYvF QoJA== X-Forwarded-Encrypted: i=1; AJvYcCWzy47jCIdXrUDzVvyyAYcRebJm7UCilIKbdkTenW7zYXxMdz5wwWslx9sWaQkor+czkI3Ywg8kLzEoXKVv@postgresql.org X-Gm-Message-State: AOJu0YxEBTiYiGDsjEXqQNhiKzlCtRUB2SsyWicvfbuXX3TUoFkMH+8E b9/tVtnIxyYdYoUZNi2vDAyIb6KIVTzJ5hLIlQVvN9rLyGsNwhi4qn8pgJ7Qwen7Yz7VUIT10UB AbBmXw/ZP5M6qm3TpzJU8oJfBQZff3q4= X-Gm-Gg: ATEYQzxa/CwTbJEqiEwkYjuMnjW590FGKQqIf6w2F67sGLguuZWkwCRBQ5ntikvQRU5 mAl/7gdjSxvL4o38y80/njoXzLHhAfe9b/X0vjpaUvbjziZlh08klBU4KVZXJNgeSV8tKGiASoz M7wZwhOYrlAGgPU3OuRQ+uJLeGFqnzPrI+0jKLryIhBj8ntaimo2PuOuNvPeBROIA9dBqA8kQ7/ XnaF+5/BB6vDHAkuA+V1aubnYfca0xIp80hG6T84dj67Jod/qCwuh8nOq+47J5repb4vTIijG9b Y5O/keb9SHEDT5+fxVgKEaBAPnqu9yuUDlMDJdDMT5c2S2oBnLkt8eqE/LbCceuDHFzze/59cjC jTQdyFQ== X-Received: by 2002:ac8:7e8c:0:b0:501:49f9:7488 with SMTP id d75a77b69052e-50b1488826dmr27568991cf.49.1773812539543; Tue, 17 Mar 2026 22:42:19 -0700 (PDT) MIME-Version: 1.0 References: <449DFC8A-CF54-493E-9366-AF9C73C782AA@yandex-team.ru> <14B4E29D-7B08-4972-BE9E-491A8A6A77CF@yandex-team.ru> In-Reply-To: From: Kirill Reshke Date: Wed, 18 Mar 2026 10:42:08 +0500 X-Gm-Features: AaiRm50oOM_TGrDFOzJJhr5lXAXwSoBz_0NuCYehbzoNyvJDOoJemn5aN1G0id0 Message-ID: Subject: Re: Fix gistkillitems & add regression test to microvacuum To: Soumya S Murali Cc: Andrey Borodin , pgsql-hackers , Andres Freund Content-Type: multipart/mixed; boundary="000000000000516ae8064d45ea5a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000516ae8064d45ea5a Content-Type: text/plain; charset="UTF-8" On Wed, 11 Feb 2026 at 17:18, Soumya S Murali wrote: > > Hi all, > > Thank you for the updated patch. > I reproduced the issue locally by filling a GiST root page, deleting > all tuples, and triggering a microvacuum by an index-only scan. > With the patch, The root page is now handled consistently with other > leaf pages. so->curBlkno and so->curPageLSN are properly set during > scan, and gistkillitems() operates safely and correctly on the root > page. > Based on runtime validation and code inspection, the fix LGTM. > Rebased due to f5eb854ab6d[0] I have added a [0]committer to CC. Andres, can you please take a look at this thread, if by chance you have spare time for it? You have changed kill tuples-related logic frequently, so you might be interested... [0] https://git.postgresql.org/cgit/postgresql.git/commit/?id=f5eb854ab6d6281ec2d3143657944bdda6676341 -- Best regards, Kirill Reshke --000000000000516ae8064d45ea5a Content-Type: application/octet-stream; name="v3-0001-Fix-gistkillitems-for-GiST-ROOT-page.patch" Content-Disposition: attachment; filename="v3-0001-Fix-gistkillitems-for-GiST-ROOT-page.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmvm1m740 RnJvbSBlNzk2YjI1YmJkMDc2NTIzMTMwN2VjNGM3NTdmNjdiZmRlZjllMzYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiByZXNoa2UgPHJlc2hrZUBkb3VibGUuY2xvdWQ+CkRhdGU6IFRo dSwgMTUgSmFuIDIwMjYgMDY6MzQ6NDIgKzAwMDAKU3ViamVjdDogW1BBVENIIHYzXSBGaXggZ2lz dGtpbGxpdGVtcyBmb3IgR2lTVCBST09UIHBhZ2UuCgpHaVNUIGluZGV4IGtpbGxpdGVtcyBmZWF0 dXJlIG1pc2JlaGF2ZXMgZm9yIHNpbmdsZS1wYWdlCihST09ULW9ubHkpIEdpU1QgaW5kZXguIFRo aXMgaXMgY2F1c2VkIGJ5IEdpU1Qgc2NhbgoiY3VycmVudCBibG9jayIgdmFyaWFibGUgbm90IGJl aWduIGluaXRpYWxpemVkIGZvcgp2ZXJ5IGZpcnN0LXRvLXNjYW4gcGFnZSAod2hpY2ggaXMgUk9P VCBwYWdlKS4KRml4IHRoaXMgYnkgbW92aW5nIHZhcmlhYmxlIGluaXRpYWxpemF0aW9uIGluCnJl YWQgcGdhZSB1dGlsaXR5IGZ1bmN0aW9uLiBBbHNvIGFkanVzdCB0ZXN0IG91dHB1dAp0aGF0IHVz ZWQgdG8gdGVzdCBleGFjdGx5IHRoaXMgYnVnIChzdGFydGluZyAzNzdiN2FiKS4KClJldmlld2Vk LWJ5OiBBbmRyZXkgQm9yb2RpbiA8eDRtbW1AeWFuZGV4LXRlYW0ucnU+ClJldmlld2VkLWJ5OiBT b3VteWEgUyBNdXJhbGkgPHNvdW15YW11cmFsaS53b3JrQGdtYWlsLmNvbT4KCkRpc2N1c3Npb246 IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FMZFNTUGdaV1hfRDglMkJGeDRZUXFSTjVlVzVpU3hfckpk cVFoQ2ZkV1R2cUtYVmZKNHclNDBtYWlsLmdtYWlsLmNvbQpEaXNjdXNzaW9uOiBodHRwczovL3Bv c3Rnci5lcy9tL2x4emoyNmdhNmlwcGRldW56Nmt1bmNlY3RyNWdmdXVnbW0ycnkyMnF1NmhjeDZv aWQ2QGx6eDNzanNxaG10NgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3RnZXQuYyAg ICAgICAgICAgICAgfCA2ICsrKy0tLQogc3JjL3Rlc3QvbW9kdWxlcy9pbmRleC9leHBlY3RlZC9r aWxsdHVwbGVzLm91dCB8IDIgKy0KIHNyYy90ZXN0L21vZHVsZXMvaW5kZXgvc3BlY3Mva2lsbHR1 cGxlcy5zcGVjICAgfCAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0Z2V0 LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0Z2V0LmMKaW5kZXggNGQ3YzEwMGQ3Mzcu Ljg1MWQzNjc5Y2U0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0Z2V0 LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdGdldC5jCkBAIC00MTUsNiArNDE1 LDkgQEAgZ2lzdFNjYW5QYWdlKEluZGV4U2NhbkRlc2Mgc2NhbiwgR0lTVFNlYXJjaEl0ZW0gKnBh Z2VJdGVtLAogCSAqLwogCXNvLT5jdXJQYWdlTFNOID0gQnVmZmVyR2V0TFNOQXRvbWljKGJ1ZmZl cik7CiAKKwkvKiBzYXZlIGN1cnJlbnQgaXRlbSBCbG9ja051bWJlciBmb3IgZ2lzdGtpbGxpdGVt cygpIGNhbGwgKi8KKwlzby0+Y3VyQmxrbm8gPSBwYWdlSXRlbS0+Ymxrbm87CisKIAkvKgogCSAq IGNoZWNrIGFsbCB0dXBsZXMgb24gcGFnZQogCSAqLwpAQCAtNzMwLDkgKzczMyw2IEBAIGdpc3Rn ZXR0dXBsZShJbmRleFNjYW5EZXNjIHNjYW4sIFNjYW5EaXJlY3Rpb24gZGlyKQogCiAJCQkJQ0hF Q0tfRk9SX0lOVEVSUlVQVFMoKTsKIAotCQkJCS8qIHNhdmUgY3VycmVudCBpdGVtIEJsb2NrTnVt YmVyIGZvciBuZXh0IGdpc3RraWxsaXRlbXMoKSBjYWxsICovCi0JCQkJc28tPmN1ckJsa25vID0g aXRlbS0+Ymxrbm87Ci0KIAkJCQkvKgogCQkJCSAqIFdoaWxlIHNjYW5uaW5nIGEgbGVhZiBwYWdl LCBJdGVtUG9pbnRlcnMgb2YgbWF0Y2hpbmcgaGVhcAogCQkJCSAqIHR1cGxlcyBhcmUgc3RvcmVk IGluIHNvLT5wYWdlRGF0YS4gIElmIHRoZXJlIGFyZSBhbnkgb24KZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L21vZHVsZXMvaW5kZXgvZXhwZWN0ZWQva2lsbHR1cGxlcy5vdXQgYi9zcmMvdGVzdC9tb2R1 bGVzL2luZGV4L2V4cGVjdGVkL2tpbGx0dXBsZXMub3V0CmluZGV4IGEzZGIyYzQwOTM2Li4xZDk0 NGI0OTNjMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy9pbmRleC9leHBlY3RlZC9raWxs dHVwbGVzLm91dAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL2luZGV4L2V4cGVjdGVkL2tpbGx0dXBs ZXMub3V0CkBAIC0yMjMsNyArMjIzLDcgQEAgc3RlcCBmbHVzaDogU0VMRUNUIEZST00gcGdfc3Rh dF9mb3JjZV9uZXh0X2ZsdXNoKCk7CiBzdGVwIHJlc3VsdDogU0VMRUNUICgoaGVhcF9ibGtzX3Jl YWQgKyBoZWFwX2Jsa3NfaGl0IC0gY291bnRlci5oZWFwX2FjY2Vzc2VzKSA+IDApIEFTIGhhc19u ZXdfaGVhcF9hY2Nlc3NlcyBGUk9NIGNvdW50ZXIsIHBnX3N0YXRpb19hbGxfdGFibGVzIFdIRVJF IHJlbG5hbWUgPSAna2lsbF9wcmlvcl90dXBsZSc7CiBoYXNfbmV3X2hlYXBfYWNjZXNzZXMKIC0t LS0tLS0tLS0tLS0tLS0tLS0tLQotdCAgICAgICAgICAgICAgICAgICAgCitmICAgICAgICAgICAg ICAgICAgICAKICgxIHJvdykKIAogc3RlcCBkcm9wX3RhYmxlOiBEUk9QIFRBQkxFIElGIEVYSVNU UyBraWxsX3ByaW9yX3R1cGxlOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy9pbmRleC9z cGVjcy9raWxsdHVwbGVzLnNwZWMgYi9zcmMvdGVzdC9tb2R1bGVzL2luZGV4L3NwZWNzL2tpbGx0 dXBsZXMuc3BlYwppbmRleCAzYjk4ZmY5Zjc2ZC4uYmQ5MjNjOGJiMDAgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L21vZHVsZXMvaW5kZXgvc3BlY3Mva2lsbHR1cGxlcy5zcGVjCisrKyBiL3NyYy90ZXN0 L21vZHVsZXMvaW5kZXgvc3BlY3Mva2lsbHR1cGxlcy5zcGVjCkBAIC05Niw3ICs5Niw3IEBAIHBl cm11dGF0aW9uCiAgIG1lYXN1cmUgYWNjZXNzIGZsdXNoIHJlc3VsdAogICBkcm9wX3RhYmxlIGRy b3BfZXh0X2J0cmVlX2dpc3QKIAotIyBUZXN0IGdpc3QsIGJ1dCB3aXRoIGZld2VyIHJvd3MgLSBz aG93cyB0aGF0IGtpbGxpdGVtcyBkb2Vzbid0IHdvcmsgYW55bW9yZSEKKyMgVGVzdCBnaXN0LCBi dXQgd2l0aCBmZXdlciByb3dzIC0gdGhhdCBraWxsaXRlbXMgdXNlZCB0byBiZSBidWdneS4KIHBl cm11dGF0aW9uCiAgIGNyZWF0ZV90YWJsZSBmaWxsXzEwIGNyZWF0ZV9leHRfYnRyZWVfZ2lzdCBj cmVhdGVfZ2lzdCBmbHVzaAogICBkaXNhYmxlX3NlcSBkaXNhYmxlX2JpdG1hcAotLSAKMi4yNS4x Cgo= --000000000000516ae8064d45ea5a--