Amcheck verification of GiST and GIN

Поиск
Список
Период
Сортировка
От Andrey Borodin
Тема Amcheck verification of GiST and GIN
Дата
Msg-id 45AC9B0A-2B45-40EE-B08F-BDCF5739D1E1@yandex-team.ru
обсуждение исходный текст
Ответы Re: Amcheck verification of GiST and GIN  (Andrey Borodin <x4mmm@yandex-team.ru>)
Список pgsql-hackers
Hello world!

Few years ago we had a thread with $subj [0]. A year ago Heikki put a lot of effort in improving GIN checks [1] while
huntinga GIN bug. 
And in view of some releases with a recommendation to reindex anything that fails or lacks amcheck verification, I
decidedthat I want to review the thread. 

PFA $subj incorporating all Heikki's improvements and restored GiST checks. Also I've added heapallindexed verification
forGiST. I'm sure that we must add it for GIN too. Yet I do not know how to implement it. Maybe just check that every
entrygenerated from heap present in entry tree? Or that every tids is present in the index? 

GiST verification does parent check despite taking only AccessShareLock. It's possible because when the key discrepancy
isfound we acquire parent tuple with lock coupling. I'm sure that this is correct to check keys this way. And I'm
almostsure it will not deadlock, because split is doing the same locking. 

What do you think?

Best regards, Andrey Borodin.

[0] https://www.postgresql.org/message-id/flat/CAF3eApa07-BajjG8%2BRYx-Dr_cq28ZA0GsZmUQrGu5b2ayRhB5A%40mail.gmail.com
[1]
https://www.postgresql.org/message-id/flat/9fdbb584-1e10-6a55-ecc2-9ba8b5dca1cf%40iki.fi#fec2751faf1ca52495b0a61acc0f5532

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: "wangw.fnst@fujitsu.com"
Дата:
Сообщение: RE: Perform streaming logical transactions by background workers and parallel apply
Следующее
От: "kuroda.hayato@fujitsu.com"
Дата:
Сообщение: RE: Multi-Master Logical Replication