| From: | Noah Misch <noah(at)leadboat(dot)com> |
|---|---|
| To: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
| Cc: | Melanie Plageman <melanieplageman(at)gmail(dot)com>, Alexey Makhmutov <a(dot)makhmutov(at)postgrespro(dot)ru>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Two issues leading to discrepancies in FSM data on the standby server |
| Date: | 2026-09-12 20:05:40 |
| Message-ID: | 20260912200540.1b.noahmisch@microsoft.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, Sep 07, 2026 at 06:22:22PM +0300, Alexander Korotkov wrote:
> 0002 is patch for FSM readme to highlight this aspect
>
> I'm going to push (and backpatch) 0001. 0002 needs review.
> Subject: [PATCH v1 2/2] Say in the FSM README why its hint writes still need
> full page images
> +That RBM_ZERO_ON_ERROR is a property of this directory, not of the FSM fork
> +itself. The files themselves are ordinary relation files, and plenty of code
> +outside freespace.c reads them and does verify checksums:
> +RelationCopyStorage(), which ALTER TABLE ... SET TABLESPACE runs over every
> +fork; the read stream in RelationCopyStorageUsingBuffer(), used by
> +CREATE DATABASE ... STRATEGY = wal_log; and the checksum verification in base
> +backups and in pg_checksums. The last two are the reason this cannot simply be
> +relaxed: an external verification tool has no way to tell a tear that we
> +consider harmless from one caused by failing storage, so making it accept
> +the former blinds it to the latter.
One could relax the "last two" by having those tools skip checksum
verification for *_fsm files, so let's not claim it's infeasible. It's true
that this could miss failing-storage evidence that coincidentally landed in
FSM, but accepting that could be the right thing someday. Other than that, I
agree with this README change. Thanks.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alexander Korotkov | 2026-09-12 21:06:56 | Re: Implement waiting for wal lsn replay: reloaded |
| Previous Message | Alexander Korotkov | 2026-09-12 19:18:58 | Re: timeout value overflow in wait for lsn |