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