public inbox for [email protected]  
help / color / mirror / Atom feed
From: Amit Kapila <[email protected]>
To: Masahiko Sawada <[email protected]>
Cc: [email protected] <[email protected]>
Cc: Kyotaro Horiguchi <[email protected]>
Cc: Drouvot, Bertrand <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Cc: Oh, Mike <[email protected]>
Subject: Re: [BUG] Logical replication failure "ERROR: could not map filenode "base/13237/442428" to relation OID" with catalog modifying txns
Date: Thu, 28 Jul 2022 14:27:23 +0530
Message-ID: <CAA4eK1KS796rQEHTUY_Zed=pvAHmC9E7yD9MVFgfMS9dTZoF9g@mail.gmail.com> (raw)
In-Reply-To: <CAD21AoAiFi+RU9O4kKOL0_3F_X-Lwo3+9W=ZwJsPGtgqDEXmtw@mail.gmail.com>
References: <[email protected]>
	<CAD21AoD00wV4gt-53ze+ZB8n4bqJrdH8J_UnDHddy8S2A+a25g@mail.gmail.com>
	<CAA4eK1L_e4r4=10TTzoOiWGQ6hH4vxWAwD=0aofz04czCTV0kQ@mail.gmail.com>
	<[email protected]>
	<CAA4eK1JoKV2qmp916gFk=9SX=Qo21+sN4n-yjbB2b0Q1xxOKJw@mail.gmail.com>
	<CAD21AoAn9T6mS8sMF5=tFV66Wru92s933ihRVunLPEU_+0=Xiw@mail.gmail.com>
	<CAA4eK1Lgfj2ww4V_zMxTmduB0BQpEsS-j7RT8BV-cy7Qyp1E3A@mail.gmail.com>
	<CAD21AoDNJgYkrO1PQ=k6G9MfvRjhawMN-aZVT2spMr_ymmOhCQ@mail.gmail.com>
	<CAD21AoC4x3uOw5rUcSYZkWob5s5ottGt_RPLxCEpHimFRDjrEg@mail.gmail.com>
	<CAA4eK1L_Br0wNHwY1PrnusX1H2bvWR+iUnNC=1anKqhPBtnoMg@mail.gmail.com>
	<CAD21AoBeMVfY6dvg5J8XmSHGbc3+yTA8k_GVRzwZR24zc4TfSw@mail.gmail.com>
	<CAA4eK1Jg+u=ouXbC5EVLVnQ4sUhrR1P+p0LQSjPFmMP4jNYmuw@mail.gmail.com>
	<CAD21AoCEF6FAvRRP6LKzq2-2oVvpdQbmZDwzRAdseA9AA2mE-Q@mail.gmail.com>
	<OSZPR01MB63106E9CE179D80F46CB3154FD8B9@OSZPR01MB6310.jpnprd01.prod.outlook.com>
	<CAD21AoAUx28e-1YQDA6Uhda+=jkidAy+HY8Zv5SYjtXpRcBiVg@mail.gmail.com>
	<CAA4eK1LmyPryHUP3kaWRBbz88aCs5J_8-vL2wqwi5wnSwa24tw@mail.gmail.com>
	<CAD21AoC1H8tDo=h-xsm5Und-c4FQbNCAOuRoBaMhsxNsJrM8vA@mail.gmail.com>
	<CAA4eK1JfcR96cxqb+NYmDueirpvLytfvP-UZPz-E6-U6Lv-+tw@mail.gmail.com>
	<CAD21AoCjfmuCRUpsn+nuqRuWW3gQCBdTKuYGYvYiwLVtpTQYSg@mail.gmail.com>
	<CAA4eK1LXpPnLEdTttCmMbw3bSnrn=k_58ZUDvx3zbAHLjgod2A@mail.gmail.com>
	<CAD21AoBKb_XMdOO0vCAHKieWYqHmJnEN0bGmV5j7PvOGOEkmrQ@mail.gmail.com>
	<CAA4eK1LpxNwGKntRJSND8H-DmN8XuZYoaooQmaX4+g-ePqg2=Q@mail.gmail.com>
	<CAD21AoCzuV5yhOGw8=nVkymkE0KaHkxMMy5R-HsfBQw9=h0asA@mail.gmail.com>
	<CAA4eK1LH54gTKnxhBJRy9GHjoPxp7ggA+B9Cy7VLtXToCVukhw@mail.gmail.com>
	<CAD21AoC8NLGJ-Q+u60cGPSnxXqexEFPLo-5-offsgCE_ikVxRw@mail.gmail.com>
	<CAA4eK1+U1b7P2mMTZHGE0GaT4vYhGsShQx_6070a6xgwj9JQAQ@mail.gmail.com>
	<CAD21AoC_oEy3EvgbJ=asz20Z3ROWtRM01f-F8+F_5VjhCvJX6g@mail.gmail.com>
	<CAD21AoAxuMzBAkOYD8ggxwNbobRx=sDPmy_JnYMkKP2sesu6+w@mail.gmail.com>
	<CAA4eK1Jz13yWo1mF1aKX8V50my81H-=keJW+A9w7-GzJ6XQ0Eg@mail.gmail.com>
	<CAD21AoB1e9YH89EpRWXzP0qemf9Jb3eiD4m+sXmdes4jmExPfw@mail.gmail.com>
	<CAA4eK1K+tjr8C_ZcAgcpbcrtMmq6yMPdp--OxiKoUwebz5EUfg@mail.gmail.com>
	<CAD21AoDq0fPE=DGtmLoXXu1c+jDo+Qu_ceh2HViSUvRss7s93Q@mail.gmail.com>
	<CAA4eK1LEhoTwkSSmogoJdgg2tgAFxkJni-MyKO8esoTVQomjEA@mail.gmail.com>
	<CAD21AoAiFi+RU9O4kKOL0_3F_X-Lwo3+9W=ZwJsPGtgqDEXmtw@mail.gmail.com>

On Thu, Jul 28, 2022 at 12:56 PM Masahiko Sawada <[email protected]> wrote:
>
> On Thu, Jul 28, 2022 at 4:13 PM Amit Kapila <[email protected]> wrote:
> >
> > >
> > > While editing back branch patches, I realized that the following
> > > (parsed->xinfo & XACT_XINFO_HAS_INVALS) and (parsed->nmsgs > 0) are
> > > equivalent:
> > >
> > > +   /*
> > > +    * If the COMMIT record has invalidation messages, it could have catalog
> > > +    * changes. It is possible that we didn't mark this transaction as
> > > +    * containing catalog changes when the decoding starts from a commit
> > > +    * record without decoding the transaction's other changes. So, we ensure
> > > +    * to mark such transactions as containing catalog change.
> > > +    *
> > > +    * This must be done before SnapBuildCommitTxn() so that we can include
> > > +    * these transactions in the historic snapshot.
> > > +    */
> > > +   if (parsed->xinfo & XACT_XINFO_HAS_INVALS)
> > > +       SnapBuildXidSetCatalogChanges(ctx->snapshot_builder, xid,
> > > +                                     parsed->nsubxacts, parsed->subxacts,
> > > +                                     buf->origptr);
> > > +
> > >     /*
> > >      * Process invalidation messages, even if we're not interested in the
> > >      * transaction's contents, since the various caches need to always be
> > >      * consistent.
> > >      */
> > >     if (parsed->nmsgs > 0)
> > >     {
> > >         if (!ctx->fast_forward)
> > >             ReorderBufferAddInvalidations(ctx->reorder, xid, buf->origptr,
> > >                                           parsed->nmsgs, parsed->msgs);
> > >         ReorderBufferXidSetCatalogChanges(ctx->reorder, xid, buf->origptr);
> > >     }
> > >
> > > If that's right, I think we can merge these if branches. We can call
> > > ReorderBufferXidSetCatalogChanges() for top-txn and in
> > > SnapBuildXidSetCatalogChanges() we mark its subtransactions if top-txn
> > > is in the list. What do you think?
> > >
> >
> > Note that this code doesn't exist in 14 and 15, so we need to create
> > different patches for those.
>
> Right.
>

Okay, then this sounds reasonable to me.

-- 
With Regards,
Amit Kapila.





view thread (136+ messages)  latest in thread

reply

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: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: [BUG] Logical replication failure "ERROR: could not map filenode "base/13237/442428" to relation OID" with catalog modifying txns
  In-Reply-To: <CAA4eK1KS796rQEHTUY_Zed=pvAHmC9E7yD9MVFgfMS9dTZoF9g@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox