Re: Amcheck verification of GiST and GIN
Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Attachments
- v3-0002-undo.patch (text/x-patch) patch v3-0002
- v3-0001-verify-gin-fixes-and-tests.patch (text/x-patch) patch v3-0001
On Mon, May 26, 2025 at 7:28 PM Arseniy Mukhin <arseniy.mukhin.dev@gmail.com> wrote: > On Mon, May 26, 2025 at 1:27 PM Tomas Vondra <tomas@vondra.me> wrote: > > Also, I've noticed that the TAP test passes even with some (most) of the > > verify_gin.c changes reverted. See the 0002 patch - this does not break > > the TAP test. Of course, that does not prove the changes are wrong and > > I'm not claiming that. But can we improve the TAP test to trigger this > > too? To show the current code (in master) misses this? > > Yes, changes in the undo patch is about posting tree check part (6, 7 points) > and I haven't written tests for it, because to break posting tree you need to > manipulate with tids which is not as easy as replace "aaaa" with "cccc" as tests > for entry tree do. Probably it would be much easier to use page api to > corrupt some > posting tree pages, but I don't know, is it impossible in TAP tests? I added the test for the posting tree parent_key check. Now applying 'undo patch' results in a test failure. Also I realized that the test 'invalid_entry_columns_order_test' will fail on big endian machines, because varlena len encoding is different for little endian and big endian, so I changed the test a little bit. Now the test doesn't use varlena len byte in regex. I also remove the blksize hardcode and start getting it from the cluster configuration. But anyway some tests will fail with not standard block size (probably all tests where tree growth is expected). 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