Re: [PATCH] Improve amcheck to also check UNIQUE constraint in btree index.
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: Pavel Borisov <pashkin.elfe@gmail.com>,
Peter Eisentraut <peter@eisentraut.org>, Aleksander Alekseev <aleksander@timescale.com>, Postgres hackers <pgsql-hackers@lists.postgresql.org>,
Maxim Orlov <orlovmg@gmail.com>, Andres Freund <andres@anarazel.de>, Greg Stark <stark@mit.edu>,
Julien Rouhaud <rjuju123@gmail.com>, Mark Dilger <mark.dilger@enterprisedb.com>,
David Steele <david@pgmasters.net>, Peter Geoghegan <pg@bowt.ie>, Maxim Orlov <m.orlov@postgrespro.ru>,
lubennikovaav@gmail.com
Date: 2024-05-10T00:11:41Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
amcheck: Optimize speed of checking for unique constraint violation
- cdd6ab9d1f53 18.0 landed
-
amcheck: Report an error when the next page to a leaf is not a leaf
- 97e5b0026fc2 17.0 landed
-
amcheck: Don't load the right sibling page into BtreeCheckState
- 0b5c16124811 17.0 landed
-
amcheck: Refactoring the storage of the last visible entry
- 532d94fec32a 17.0 landed
-
Teach contrib/amcheck to check the unique constraint violation
- 5ae2087202af 17.0 landed
-
Add macros in hash and btree AMs to get the special area of their pages
- d16773cdc862 15.0 cited
Attachments
- v2-0003-Amcheck-Don-t-load-rightpage-into-BtreeCheckState.patch (application/octet-stream) patch v2-0003
- v2-0002-amcheck-Refactoring-the-storage-of-the-last-visib.patch (application/octet-stream) patch v2-0002
- v2-0001-amcheck-Optimize-speed-of-checking-for-unique-con.patch (application/octet-stream) patch v2-0001
- v2-0004-amcheck-Report-an-error-when-the-next-page-to-a-l.patch (application/octet-stream) patch v2-0004
On Wed, May 1, 2024 at 5:26 AM Alexander Korotkov <aekorotkov@gmail.com> wrote: > On Wed, May 1, 2024 at 5:24 AM Noah Misch <noah@leadboat.com> wrote: > > On Thu, Apr 25, 2024 at 04:59:54PM +0400, Pavel Borisov wrote: > > > 0001: Optimize speed by avoiding heap visibility checking for different > > > non-deduplicated index tuples as proposed by Noah Misch > > > > > > Speed measurements on my laptop using the exact method recommended by Noah > > > upthread: > > > Current master branch: checkunique off: 144s, checkunique on: 419s > > > With patch 0001: checkunique off: 141s, checkunique on: 171s > > > > Where is the CPU time going to make it still be 21% slower w/ checkunique on? > > It's a great improvement vs. current master, but I don't have an obvious > > explanation for the remaining +21%. > > I think there is at least extra index tuples comparison. The revised patchset is attached. I applied cosmetical changes. I'm going to push it if no objections. I don't post the patch with rename of new option. It doesn't seem there is a consensus. I must admit that keeping all the options in the same naming convention makes sense. ------ Regards, Alexander Korotkov Supabase