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 1vxCY8-002pn0-1e for pgsql-hackers@arkaria.postgresql.org; Mon, 02 Mar 2026 23:19:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vxCY6-003Sw5-38 for pgsql-hackers@arkaria.postgresql.org; Mon, 02 Mar 2026 23:19:39 +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 1vxCY6-003Svw-1u for pgsql-hackers@lists.postgresql.org; Mon, 02 Mar 2026 23:19:39 +0000 Received: from mail-yw1-x1132.google.com ([2607:f8b0:4864:20::1132]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vxCY3-000000005ex-3E9D for pgsql-hackers@postgresql.org; Mon, 02 Mar 2026 23:19:38 +0000 Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-7984d31b895so47716067b3.1 for ; Mon, 02 Mar 2026 15:19:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772493574; cv=none; d=google.com; s=arc-20240605; b=MESD91fGcZlhQic5paWZmsyuqkX/4Xj6mvg541ZzyFPx+j0R65gypXkVFtVNfA4pzC uNOElLeriAPsOy4xoYvs9dQN1apqcRXf+t+jo1H+5uBG+qbE6LTGFnOyNxT+64SUMXR/ Hbo328RooUKn4ZG+M9FvoiEN+2UsVaY3vkb1UOqLPDMhha7caPqO1nFY9rUqC7I9GgHv t/HQvOLdA2OpOpFMqz86RDpt8RBfpt3wGOrqlm+v+7/lOexmAetCY9BYAVeDPyUAk640 PZWPtnX09vIwngVYl2Pjz6Xc7NwfS89uEAOyRTAw3QCW9hfOY76rMAWlwty/KH0DmBQS KP8Q== 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=JyyFWwFZYeAbREsu0SQhx+BPkQV/BfdAkN4F/P6Ai4I=; fh=G5cGxfjYRvVCYwt6Qb8HYs4xDLOpdgq2Vs3d+wUxfwU=; b=az5fXMK/yfwkBnY9k7jucLCJgwRCFLImAS7au4jhEs+eKys7TJ1Gx9jHTOMYf54W2S AcSlN8iThqei2NU1Ucr+SGi4DjYirDby2FZM0eWvXbkkcoZnLzlRXME434wK8cDVqBil hgoN82nSBzkb3bh5ppX18g5IkfgMD+53kf4qMMWqnT1GzBN+5be0kvhM90AgUDpHZhUH 5Ll31p6w0fz1uldUjUWI0v9NkyG/mu27+o/CUsXajJxwGIZxqSDbKrP9KVsphU/QJngR TGd3y9uNC5905t59EhKpCFyhcrVGsgoOzfGefjh8wKxAoMV5T05E4jVXhn/FOdmo03GK fESA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=percona.com; s=google; t=1772493574; x=1773098374; 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=JyyFWwFZYeAbREsu0SQhx+BPkQV/BfdAkN4F/P6Ai4I=; b=f4zbMLhOC4WVftdtoPDPcPQsm6p7oqAeiPx7RVgRZHzC8kdmIR5E2vXM7sQkIlNXqR RHY7IDJnuJyOt/WQzg2a3aqwOk7h0+KltWaO1vd6QxujG7WMozQ+jXSC+mWOjgWF55/z AnUX5CCGpOVhw1p3T2bWi8PKTmCENVLHcWw0k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772493574; x=1773098374; 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=JyyFWwFZYeAbREsu0SQhx+BPkQV/BfdAkN4F/P6Ai4I=; b=qIMkveLGKpkr9MoXnDkooRaNPP6j0PNTajM3WEuX3DTyrPZZlKkEw4jKAmXPTjNY1v ARVaZyGHLJt8HEJHPVDX7h/9TUspypymyVNLnrOf0r0wEB/68yeqAWRMnff/9apMjY6T FRHB9bHoU0kDPcaoQeUHfvqiGASSqLd5F7r8sJwXhbjbf1HU/Ls7mGUl3hjgoqfMIbt5 zrBEkse0cpXa3grEOyYp0sN3n0m1dSLn/SVO8uGi5XCqu+RW118fDTGYNX7LGCUl7hkG H8E3ghMbpbYKeZm4HO+AQuj4YX9+ALnGMYSo9zLrUL7nLquOCAAm5N5Mk0JeJsjEjrFG jxOQ== X-Gm-Message-State: AOJu0YxI2+myvBOVDWW7tpKPCISUq8t1RHfAZ+yMbAfgahWX9bL/XU0a mRESJ9ptZxZZgCEjGOaGdBBcj/R5rRnAdw8mW9ud+9acPQ1mfJsB50qStBj2NOlyutJnunDCyeH C4DawhyVcRBDc/+o6Fwi9rUGrXqcH37VbeyR6cRXnIULSyVI4MVnrr4rRGa/CKzAsxpnoimJDZ5 8VErVdIpEbNlOcD799qNHX02WOMAwibhe2Z1ouPrbaodBZD9jAKlWYQtvgFov+mNcNDeOT91Q92 G5FpmsfDtTLe7wL69+A+JBiTD1NCXxJyGtk7ZAunirhen5kOLE= X-Gm-Gg: ATEYQzxvXXP1QhwO2FT8oFyRnxXkVsvTiOWbx+PnhDSZZfnYwiUu086EO1um4WIYjlH vyZPKyQb43JBBdiZPiZGNgRP2A+SGBPIyLwxwtHq2BuBcgBLrfkAg6f8kCxna10+R9zmQtYGhF+ f98X4YM98OmQSrutPd+97Q6JWi9Ua19WLFm/7xCDWqdnpfnn2e3BW9+qldkVrV7WlkAF/1+okWQ qvi8oKI+XTP9dumHOeFndKSYRyGCC6TFw33prm9movSE8/UJtDyOqwU2WCWBx393xYB3ZruYv7w 5FeOqJ10J0FrWgCRhTtHJvEPQLRKdTjkcsrrN92oHzH01sFb9Qc9ckX8GzO7m1iBnrAU X-Received: by 2002:a05:690c:2029:b0:798:6e69:2459 with SMTP id 00721157ae682-798854ae326mr114801567b3.1.1772493573887; Mon, 02 Mar 2026 15:19:33 -0800 (PST) MIME-Version: 1.0 References: <432626F9-65DF-4F0D-B345-26CFC3E2CFAC@yandex-team.ru> <9A5AEB25-5E58-4657-9064-7D4F8D50A77D@yandex-team.ru> In-Reply-To: <9A5AEB25-5E58-4657-9064-7D4F8D50A77D@yandex-team.ru> From: Zsolt Parragi Date: Mon, 2 Mar 2026 23:19:22 +0000 X-Gm-Features: AaiRm528PAvvZZlQDrS7aePtj1OejYxWGKvCiDNGl7NTtFG7rxhnvbk_fWkq_Ts Message-ID: Subject: Re: amcheck: add index-all-keys-match verification for B-Tree To: Andrey Borodin Cc: pgsql-hackers Content-Type: text/plain; charset="UTF-8" X-CLOUD-SEC-AV-Sent: true X-CLOUD-SEC-AV-Info: percona,google_mail,monitor X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk I don't see any other logic problems in the code, I only have a few minor comments/questions: + * Bloom filter says (key, tid) not in heap. Follow TID to verify; this + * amortizes random heap lookups when the filter has false negatives, or This comment could be a bit confusing, as bloom filters typically have false positives, not negatives. Maybe it would be better to phrase this somehow differently? Another thing is that now amcheck can create two bloom filters, allocated at the same time, both up to maintenance_work_mem. Isn't that a detail that should be at least mentioned somewhere? And in the documentation, shouldn't this new check mention something similar to heapallindexed, which describes the check possibly missing corruption because of the bloom filter? + (errcode(ERRCODE_INDEX_CORRUPTED), + errmsg("index tuple in index \"%s\" does not match heap tuple", + RelationGetRelationName(state->rel)), Shouldn't this also print out the table name?