Make nbtree keys unique by appending heap TID, suffix truncation

Edit
Title Make nbtree keys unique by appending heap TID, suffix truncation
Topic Performance
Created 2018-08-31 16:27:31
Last modified 2018-12-04 03:15:34 (6 days, 8 hours ago)
Latest email 2018-12-04 04:34:44 (6 days, 6 hours ago)
Status
2019-01: Needs review
2018-11: Moved to next CF
2018-09: Moved to next CF
Authors Peter Geoghegan (pgeoghegan)
Reviewers Peter Eisentraut (petere), Andrey Lepikhov (lepikhov)Become reviewer
Committer
Links
Emails
Making all nbtree entries unique by having heap TIDs participate in comparisons
First at 2018-06-14 18:44:46 by Peter Geoghegan <pg at bowt.ie>
Latest at 2018-12-04 04:34:44 by Peter Geoghegan <pg at bowt.ie>
Latest attachment (v9-0006-DEBUG-Add-pageinspect-instrumentation.patch) at 2018-12-04 03:10:37 from Peter Geoghegan <pg at bowt.ie>
    Attachment (v9-0006-DEBUG-Add-pageinspect-instrumentation.patch) at 2018-12-04 03:10:37 from Peter Geoghegan <pg at bowt.ie> (Patch: Yes)
    Attachment (v8-0003-Pick-nbtree-split-points-discerningly.patch) at 2018-11-24 23:13:42 from Peter Geoghegan <pg at bowt.ie> (Patch: Yes)
    Attachment (v7-0005-Temporarily-paper-over-problematic-regress-output.patch) at 2018-11-13 01:47:45 from Peter Geoghegan <pg at bowt.ie> (Patch: Yes)
    Attachment (v6-0005-DEBUG-Add-pageinspect-instrumentation.patch) at 2018-10-03 23:39:24 from Peter Geoghegan <pg at bowt.ie> (Patch: Yes)
    Attachment (v5-0003-Allow-nbtree-to-use-ASC-heap-TID-attribute-order.patch) at 2018-09-19 18:23:11 from Peter Geoghegan <pg at bowt.ie> (Patch: Yes)
    Attachment (v4-0001-Make-all-nbtree-index-tuples-have-unique-keys.patch) at 2018-09-12 18:11:18 from Peter Geoghegan <pg at bowt.ie> (Patch: Yes)
    Attachment (collate_bug.tar.gz) at 2018-08-02 04:48:34 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: No)
    Attachment (dell-server.txt) at 2018-07-17 19:21:27 from Peter Geoghegan <pg at bowt.ie> (Patch: No)
    Attachment (v2-0001-Ensure-nbtree-leaf-tuple-keys-are-always-unique.patch) at 2018-07-02 17:43:30 from Peter Geoghegan <pg at bowt.ie> (Patch: Yes)
    Attachment (0001-Ensure-nbtree-leaf-tuple-keys-are-always-unique.patch) at 2018-06-14 18:44:46 from Peter Geoghegan <pg at bowt.ie> (Patch: No)

Annotations

When Who Mail Annotation
2018-08-31 16:29:57 Peter Geoghegan (pgeoghegan) From Peter Geoghegan <pg@bowt.ie>
at 2018-07-17 19:21:27
v3 of patch, plus benchmark information
2018-09-12 18:12:55 Peter Geoghegan (pgeoghegan) From Peter Geoghegan <pg@bowt.ie>
at 2018-09-12 18:11:18
v4 of the patch, which has the logic for picking a split point consider suffix truncation specifically
2018-09-19 18:29:37 Peter Geoghegan (pgeoghegan) From Peter Geoghegan <pg@bowt.ie>
at 2018-09-19 18:23:11
v5 of the patch, which greatly simplifies the logic to make picking a split point care about the needs of suffix truncation
2018-10-03 23:52:00 Peter Geoghegan (pgeoghegan) From Peter Geoghegan <pg@bowt.ie>
at 2018-10-03 23:39:24
v6 of the patch, which greatly helps with TPC-C index bloat, and fixes a significant regression against master with unique indexes
2018-11-13 01:50:01 Peter Geoghegan (pgeoghegan) From Peter Geoghegan <pg@bowt.ie>
at 2018-11-13 01:47:45
v7 of the patch, which adds pg_upgrade support, and sorts heap TIDs in ASC order
2018-11-24 23:17:33 Peter Geoghegan (pgeoghegan) From Peter Geoghegan <pg@bowt.ie>
at 2018-11-24 23:13:42
v8 of the patch, which properly addresses pg_depend-related test instability
2018-12-04 03:15:34 Peter Geoghegan (pgeoghegan) From Peter Geoghegan <pg@bowt.ie>
at 2018-12-04 03:10:37
v9 of the patch, which fixes the Windows build
"Write amplification" is made worse by "getting tired" while inserting into nbtree secondary indexes (Was: Why B-Tree suffix truncation matters)
First at 2018-07-08 23:59:32 by Peter Geoghegan <pg at bowt.ie>
Latest at 2018-08-30 16:15:56 by Peter Geoghegan <pg at bowt.ie>
Latest attachment (testcase.sql) at 2018-07-08 23:59:32 from Peter Geoghegan <pg at bowt.ie>
    Attachment (testcase.sql) at 2018-07-08 23:59:32 from Peter Geoghegan <pg at bowt.ie> (Patch: No)

Annotations

When Who Mail Annotation
2018-09-02 23:31:06 Peter Geoghegan (pgeoghegan) From Peter Geoghegan <pg@bowt.ie>
at 2018-07-08 23:59:32
Motivating example. Master branch churn with many duplicates fails to recycle space. Patch is shown to fix the problem, leaving much smaller index.
On-disk compatibility for nbtree-unique-key enhancement
First at 2018-09-20 23:18:37 by Peter Geoghegan <pg at bowt.ie>
Latest at 2018-09-28 20:03:01 by Peter Geoghegan <pg at bowt.ie>
History
When Who What
2018-12-04 03:15:34 Peter Geoghegan (pgeoghegan) Added annotation "v9 of the patch, which fixes the Windows build" to CAH2-Wz=apbKyaFhEfRN3UK_yXZ8DSE4Ybr0A3D87=4JWyy1QPA@mail.gmail.com
2018-12-01 12:09:47 Dmitry Dolgov (erthalion) Closed in commitfest 2018-11 with status: Moved to next CF
2018-11-24 23:17:33 Peter Geoghegan (pgeoghegan) Added annotation "v8 of the patch, which properly addresses pg_depend-related test instability" to CAH2-WznXpL_1ybkNNj-29V6Jrd_p0KBpj2AN=xahBDiNaU1Kfg@mail.gmail.com
2018-11-13 01:50:01 Peter Geoghegan (pgeoghegan) Added annotation "v7 of the patch, which adds pg_upgrade support, and sorts heap TIDs in ASC order" to CAH2-WzkOmUduME31QnuTFpimejuQoiZ-HOf0pOWeFZNhTMctvA@mail.gmail.com
2018-11-02 09:03:06 Andrey Lepikhov (lepikhov) Added lepikhov as reviewer
2018-10-03 23:52:00 Peter Geoghegan (pgeoghegan) Added annotation "v6 of the patch, which greatly helps with TPC-C index bloat, and fixes a significant regression against master with unique indexes" to CAH2-WzkpKeZJrXvR_p7VSY1b-s85E3gHyTbZQzR0BkJ5LrWF_A@mail.gmail.com
2018-10-02 04:40:13 Michael Paquier (michael-kun) Closed in commitfest 2018-09 with status: Moved to next CF
2018-09-20 23:23:25 Peter Geoghegan (pgeoghegan) Attached mail thread CAH2-WzmjgBz-RL2-nyPc+NRZnU73YSLGEwZRyB2DhUQEdkEujg@mail.gmail.com
2018-09-19 18:29:37 Peter Geoghegan (pgeoghegan) Added annotation "v5 of the patch, which greatly simplifies the logic to make picking a split point care about the needs of suffix truncation" to CAH2-WzkfK=JVHjkd17TLDvsFb6psduTt5WYiT8dg+-UFc+rSSQ@mail.gmail.com
2018-09-12 18:12:55 Peter Geoghegan (pgeoghegan) Added annotation "v4 of the patch, which has the logic for picking a split point consider suffix truncation specifically" to CAH2-WzmmoLNQOj9mAD78iQHfWLJDszHEDrAzGTUMG3mVh5xWPw@mail.gmail.com
2018-09-07 10:08:12 Peter Eisentraut (petere) Added petere as reviewer
2018-09-02 23:31:06 Peter Geoghegan (pgeoghegan) Added annotation "Motivating example. Master branch churn with many duplicates fails to recycle space. Patch is shown to fix the problem, leaving much smaller index." to CAH2-Wzmf0fvVhU+SSZpGW4Qe9t--j_DmXdX3it5JcdB8FF2EsA@mail.gmail.com
2018-09-02 23:27:01 Peter Geoghegan (pgeoghegan) Attached mail thread CAH2-Wzmf0fvVhU+SSZpGW4Qe9t--j_DmXdX3it5JcdB8FF2EsA@mail.gmail.com
2018-08-31 16:29:57 Peter Geoghegan (pgeoghegan) Added annotation "v3 of patch, plus benchmark information" to CAH2-WzkmTRXh=zyMAUHyG3=O-QQip6CJc2VyNijRO-vzgPxmoQ@mail.gmail.com
2018-08-31 16:28:08 Peter Geoghegan (pgeoghegan) Changed authors to Peter Geoghegan (pgeoghegan)
2018-08-31 16:27:31 Peter Geoghegan (pgeoghegan) Attached mail thread CAH2-WzkVb0Kom=R+88fDFb=JSxZMFvbHVC6Mn9LJ2n=X=kS-Uw@mail.gmail.com
2018-08-31 16:27:31 Peter Geoghegan (pgeoghegan) Created patch record
Edit