From: Ronan Dunklau <ronan.dunklau@aiven.io>
To: pgsql-bugs <pgsql-bugs@lists.postgresql.org>
Subject: FSM Corruption (was: Could not read block at end of the relation)
Date: Fri, 01 Mar 2024 09:56:51 +0100
Message-ID: <1958255.PYKUYFuaPT@aivenlaptop> (raw)
In-Reply-To: <1878547.tdWV9SEqCh@aivenlaptop>
References: <VtPLBUerbMM8BSDLQwIMV9Co_38iHS1TXE4V09x2ZVFhPkZMNE8LwgPSIzB8PHkVFXykGx04QNAzZVjJFAnU1w==@protonmail.internalid>
<1878547.tdWV9SEqCh@aivenlaptop>
Le mardi 27 février 2024, 11:34:14 CET Ronan Dunklau a écrit :
> I suspected the FSM could be corrupted in some way but taking a look at it
> just after the errors have been triggered, the offending (non
> existing)blocks are just not present in the FSM either.
I think I may have missed something on my first look. On other affected
clusters, the FSM is definitely corrupted. So it looks like we have an FSM
corruption bug on our hands.
The occurence of this bug happening makes it hard to reproduce, but it's
definitely frequent enough we witnessed it on a dozen PostgreSQL clusters.
In our case, we need to repair the FSM. The instructions on the wiki do work,
but maybe we should add something like the attached patch (modeled after the
same feature in pg_visibility) to make it possible to repair the FSM
corruption online. What do you think about it ?
The investigation of the corruption is still ongoing.
Best regards,
--
Ronan Dunklau
Attachments:
0001-Provide-a-pg_truncate_freespacemap-function.patch (text/x-patch, 0B) download
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: ronan.dunklau@aiven.io, pgsql-bugs@lists.postgresql.org
Subject: Re: FSM Corruption (was: Could not read block at end of the relation)
In-Reply-To: <1958255.PYKUYFuaPT@aivenlaptop>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox