Subject: Re: Historic snapshot doesn't track txns committed in BUILDING_SNAPSHOT state

From: Masahiko Sawada <[email-masked]>
Date: Thu, 3 Apr 2025 23:09:35 -0700

On Mon, Aug 12, 2024 at 9:25 PM cca5507 <[email-masked]> wrote:
>
> Hi,
>
> I refactor the code and fix the git apply warning according to [1].
>
> Here are the new version patches.
>

I've investigated the reported issue and reviewed the patch. IIUC to
fix this issue, what we need to do is to track catalog-change
transactions even in BUILDING_SNAPSHOT phase so that we can decode
transactions correctly that started in FULL_SNAPSHOT. My question is;
in order to track just catalog-change transactions, whether it's
sufficient to check if XLOG_XACT_COMMIT[_PREPARED] has the
XACT_XINFO_HAS_INVALS flag. If yes, we probably should change only
xact_decode() to check the commit records even in BUILDING_SNAPSHOT.
Otherwise, we would need to change mostly all paths where we mark the
transaction as catalog-change as the patch does.

Regards,

-- 
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com