Re: BUG #16619: Amcheck detects corruption in hstore' btree index (ver 2)
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Anastasia Lubennikova <a.lubennikova@postgrespro.ru>,
andrewbille@gmail.com, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2020-09-16T21:55:26Z
Lists: pgsql-bugs
Hi, Peter! On Wed, Sep 16, 2020 at 8:47 PM Peter Geoghegan <pg@bowt.ie> wrote: > On Wed, Sep 16, 2020 at 7:24 AM Anastasia Lubennikova > <a.lubennikova@postgrespro.ru> wrote: > > For v2 indexes pivot tuple's offset can contain any random number which > > will lead to bt_pivot_tuple_identical() failure. > > > > The fix is pretty simple - only compare data part of the tuples. I think > > we can skip offnum check for all index versions to keep the code simple. > > I pushed a tweaked version of this patch. It seemed worth preserving > the inclusion of offset number in the bt_pivot_tuple_identical() > memcmp() comparison. The field contains important metadata that really > should match. Also, I made sure to compare t_info field on all indexes > (including pg_upgrade'd indexes) for the same reason. > > We already account for heapkeyspace difference in other similar > routines, such as invariant_l_offset(). It's not hard to do this here > as well. I was going to tweak this patch in a similar way, but made it in advance. Your commit looks good to me, thanks! ------ Regards, Alexander Korotkov
Commits
-
Fix amcheck child check pg_upgrade bug.
- aac80bfcddf7 14.0 landed
- c287f585865b 13.0 landed
-
Improve checking of child pages in contrib/amcheck.
- d114cc538715 13.0 cited