Re: Rework SLRU I/O errors handle

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Maxim Orlov <orlovmg(at)gmail(dot)com>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Rework SLRU I/O errors handle
Date: 2026-03-06 14:43:24
Message-ID: a578eba3-7242-4450-aa2c-acedeb08dc93@iki.fi
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 26/02/2026 16:26, Maxim Orlov wrote:
> Beginning of the discussion is here [0].
>
> Historically, the SLRU module was designed to handle 32-bit
> transactions. However, it is now utilised for handling a variety of
> object types, like TransactionId, MultixactId, MultiXactOffset,
> QueuePosition, and so on. But the IO error reporting system is still
> designed to support 32-bit XIDs exclusively.
>
> The proposed patchset allows us to define a "custom" callback to
> improve error messages.
>
> The first two commits add a callback and test case. The subsequent ones
> improve I/O error messages. The last one adds the XID epoch to the error
> message. It's purely optional, but I think it would be useful.
>
> [0] https://www.postgresql.org/message-id/
> CACG%3Dezbwy1zargXDNPeYXxZwRW3jXu_aD%3DrcG-7dc4fw7Y9Ojw%40mail.gmail.com
> <https://www.postgresql.org/message-id/
> CACG%3Dezbwy1zargXDNPeYXxZwRW3jXu_aD%3DrcG-7dc4fw7Y9Ojw%40mail.gmail.com>

Thanks, looks reasonable.

I'm -1 on the last patch, "Expand xact SLRU IO-error to show epoch"
though. The epoch isn't used in addressing the SLRU, the patch just
expands the 32-bit XID into a full 64-bit XID using the current epoch.
That seems misleading.

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Borisov 2026-03-06 14:45:06 Re: Odd code around ginScanToDelete
Previous Message Japin Li 2026-03-06 14:43:10 Re: [PATCH] Add pg_get_database_ddl() function to reconstruct CREATE DATABASE statement