On 29/07/2021 21:34, Nikolay Samokhvalov wrote:
I was trying to check a bunch of GINs on some production after switching from Ubuntu 16.04 to 18.04 and got many errors. So decided to check for 16.04 first (that is still used on prod for that DB), without any OS/glibc changes.

On 16.04, I still saw errors and it was not really expected because this should mean that production is corrupted too. So, REINDEX should fix it. But it didn't -- see output below. I cannot give data and thinking how to create a synthetic demo of this. Any suggestions?

And is this a sign that the tool is wrong rather that we have a real corruption cases? (I assume if we did, we would see no errors after REINDEXing -- of course, if GIN itself doesn't have bugs).

Env: Ubuntu 16.04 (so, glibc 2.27), Postgres 12.7, patch from Heikki slightly adjusted to work with PG12 ( https://gitlab.com/postgres/postgres/-/merge_requests/5 <https://gitlab.com/postgres/postgres/-/merge_requests/5>) snippet used to run amcheck: https://gitlab.com/-/snippets/2001962 <https://gitlab.com/-/snippets/2001962> (see file #3)

Almost certainly the tool is wrong. We went back and forth a few times with Pawel, fixing various bugs in the amcheck patch at this thread: https://www.postgresql.org/message-id/9fdbb584-1e10-6a55-ecc2-9ba8b5dca1cf%40iki.fi. Can you try again with the latest patch version from that thread, please? That's v5-0001-Amcheck-for-GIN-13stable.patch.

- Heikki


Reply via email to