Hi! 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 -- Best regards, Maxim Orlov.
v3-0003-Use-custom-SLRU-IO-error-msg-for-an-asynchronous-.patch
Description: Binary data
v3-0005-Avoid-misleading-user-about-status-of-InvalidTran.patch
Description: Binary data
v3-0001-Add-a-callback-for-generating-an-I-O-message-in-t.patch
Description: Binary data
v3-0002-Add-test-case-for-custom-SLRU-IO-error.patch
Description: Binary data
v3-0004-Use-custom-SLRU-IO-error-msg-for-multixact.patch
Description: Binary data
v3-0006-Expand-xact-SLRU-IO-error-to-show-epoch.patch
Description: Binary data
