Re: Amcheck verification of GiST and GIN
Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Attachments
- 0005-patch-4-remove-unused-parentlsn.patch (text/x-patch) patch 0005
- 0003-patch-2-gin_check_parent_keys_consistency.patch (text/x-patch) patch 0003
- 0001-amcheck-Add-gin_index_check-on-a-multicolumn-index.patch (text/x-patch) patch 0001
- 0002-patch-1-gin_check_parent_keys_consistency.patch (text/x-patch) patch 0002
- 0004-patch-3-gin_check_posting_tree_parent_keys_consisten.patch (text/x-patch) patch 0004
On Mon, Jun 9, 2025 at 7:37 PM Arseniy Mukhin <arseniy.mukhin.dev@gmail.com> wrote: > > On Mon, Jun 9, 2025 at 6:34 PM Tomas Vondra <tomas@vondra.me> wrote: > > > > On 6/9/25 00:14, Tomas Vondra wrote: > > > ... > > > > > > I propose to split it like this, into three parts, each addressing a > > > particular type of mistake: > > > > > > 1) gin_check_posting_tree_parent_keys_consistency > > > > > > 2) gin_check_parent_keys_consistency / att comparisons > > > > > > 3) gin_check_parent_keys_consistency / setting ptr->parenttup (at the end) > > > > > > Does this make sense to you? If yes, can you split the patch series like > > > this, including a commit message for each part, explaining the fix? We'd > > > need the commit message even with a single patch, ofc. > > > > > The attached v5 patch splits it along these lines, except that the extra > > 0001 part merely adds a multicolumn index into the regression test. The > > 0002-0004 parts are ordered to match the TAP test, i.e. it adds tests. > > Great, thank you. > > > I've copied the points from the report to the commit messages, but this > > needs cleanup/rephrasing, to make it readable. Could you look into > > that?Of course, if you think the patches should be split differently, > > feel free to move stuff. > > Yes, sure, I will do it ASAP. > Please find a new version in attachments. There are formatted commit messages and some cosmetic changes in the tests. Please let me know if anything needs to be changed. Also FWIW points 9th, 10th and 11th from the report [1] were not addressed in the fixes. I'm not sure about 10th and 11th, but 9th seems like a no-brainer, so I added a patch deleting an unused field 'parentlsn'. I tried git-am with patches and it's ok with it. Thank you for the advice, added git-am step in my patch preparation routine. > ... > Also the test for 'posting tree parent_key check' that was added last > started failing locally. Don't know what changed, but I rewrote it > so now it relies on child blkno, which is stable (I hope), instead of > concrete TID. Will include it in the new patchset. > Also changed the regex pattern for this failing test, hope it is more robust now. [1] https://postgr.es/m/CAE7r3MJ611B9TE=YqBBncewp7-k64VWs+sjk7XF6fJUX77uFBA@mail.gmail.com Best regards, Arseniy Mukhin
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
amcheck: Fix posting tree checks in gin_index_check()
- 0cf205e122ae 18.0 landed
-
amcheck: Fix parent key check in gin_index_check()
- cdd1a431f21d 18.0 landed
-
amcheck: Fix checks of entry order for GIN indexes
- 0b54b392334b 18.0 landed
-
amcheck: Remove unused GinScanItem->parentlsn field
- 8dd41c0bff5b 18.0 landed
-
amcheck: Test gin_index_check on a multicolumn index
- c89d6b889ce9 18.0 landed
-
Remove incidental md5() function use from test
- 49b82522f13f 18.0 landed
-
amcheck: Add a GIN index to the CREATE INDEX CONCURRENTLY tests
- 68f97aeadb8e 18.0 landed
-
amcheck: Add a test with GIN index on JSONB data
- ca738bdc4c9d 18.0 landed
-
amcheck: Fix indentation in verify_gin.c
- ec4327d106be 18.0 landed
-
amcheck: Add gin_index_check() to verify GIN index
- 14ffaece0fb5 18.0 landed
-
amcheck: Move common routines into a separate module
- d70b17636ddf 18.0 landed
-
Fix grammar in GIN README
- fb9dff76635d 18.0 landed
-
Avoid amcheck inline compression false positives.
- eba775345d23 12.0 cited