Re: Avoid streaming the transaction which are skipped (in corner cases) - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Avoid streaming the transaction which are skipped (in corner cases)
Date
Msg-id CAA4eK1+a4muLmNdJMMC8LOSKREKNp58eCbL6spJWBYm9FYXwuw@mail.gmail.com
Whole thread Raw
In response to Re: Avoid streaming the transaction which are skipped (in corner cases)  (Dilip Kumar <dilipbalaut@gmail.com>)
List pgsql-hackers
On Sat, Nov 26, 2022 at 10:59 AM Dilip Kumar <dilipbalaut@gmail.com> wrote:
>
> On Fri, Nov 25, 2022 at 4:04 PM Ashutosh Bapat
> <ashutosh.bapat.oss@gmail.com> wrote:
> >
> > Excellent catch. We were looking at this code last week and wondered
> > the purpose of this abort. Probably we should have some macro or
> > function to decided whether to skip a transaction based on log record.
> > That will avoid using different values in different places.
>
> We do have a common function i.e. SnapBuildXactNeedsSkip() but there
> are two problems 1) it has a dependency on the input parameter so the
> result may vary based on the input 2) this is only checked based on
> the LSN but there are other factors dbid and originid based on those
> also transaction could be skipped during DecodeCommit.  So I think one
> possible solution could be to remember a dbid and originid in
> ReorderBufferTXN as soon as we get the first change which has valid
> values for these parameters.
>

But is the required information say 'dbid' available in all records,
for example, what about XLOG_XACT_INVALIDATIONS? The other thing to
consider in this regard is if we are planning to have additional
information as mentioned by me in another to decide whether to stream
or not then the additional checks may be redundant anyway. It is a
good idea to have a common check at both places but if not, we can at
least add some comments to say why the check is different.

-- 
With Regards,
Amit Kapila.



pgsql-hackers by date:

Previous
From: Ian Lawrence Barwick
Date:
Subject: Re: [PATCH] Allow specification of custom slot for custom nodes
Next
From: Etsuro Fujita
Date:
Subject: Re: postgres_fdw: batch inserts vs. before row triggers