From: | Ajin Cherian <itsajin(at)gmail(dot)com> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | vignesh C <vignesh21(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Proposal: Filter irrelevant change before reassemble transactions during logical decoding |
Date: | 2025-02-20 02:51:51 |
Message-ID: | CAFPTHDa+MwftgxmEh6tQxrhD_NE+L_DEWZVSrT2RNKUwM_SUPw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Feb 20, 2025 at 1:30 PM Ajin Cherian <itsajin(at)gmail(dot)com> wrote:
>
> On Fri, Feb 14, 2025 at 6:18 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> >
> > On Wed, Feb 12, 2025 at 10:41 AM Ajin Cherian <itsajin(at)gmail(dot)com> wrote:
> > >
> > > On Wed, Jan 29, 2025 at 9:31 AM Peter Smith <smithpb2250(at)gmail(dot)com> wrote:
> > >
> > > Hi Ajin,
> > >
> > > Some review comments for patch v12-0001.
> > >
> > > ======
> > > Commit message
> > >
> > > 1.
> > > Track transactions which have snapshot changes with a new flag
> > > RBTXN_HAS_SNAPSHOT_CHANGES
> > >
> > > ~
> > >
> > > The commit message only says *what* it does, but not *why* this patch
> > > even exists. TBH, I don't understand why this patch needs to be
> > > separated from your patch 0002, because 0001 makes no independent use
> > > of the flag, nor is it separately tested.
> > >
> > > Anyway, if it is going to remain separated then IMO at least the the
> > > message should explain the intended purpose e.g. why the subsequent
> > > patches require this flagged info and how they will use it.
> > >
> > >
> > > Fixed.
> > >
> >
> > I still can't get from 0001's commit message the reason for tracking
> > the snapshot changes separately. Also, please find my comments for
> > 0002's commit message.
> > >
> > When most changes in a transaction are unfilterable, the overhead of
> > starting a transaction for each record is significant.
> > >
> >
> > Can you tell what is the exact overhead by testing it? IIRC, that was
> > the initial approach. It is better if you can mention in the commit
> > message what was overhead. It will be easier for reviewers.
> >
> > >
> > To reduce this overhead a hash cache of relation file locators is
> > created. Even then a hash search for every record before recording has
> > considerable overhead especially for use cases where most tables in an
> > instance are published.
> > >
> >
> > Again, can you share the link of performance data for this overhead
> > and if you have not published then please share it and also mention it
> > in commit message?
> >
>
> I compared the patch 1 which does not employ a hash cache and has the
> overhead of starting a transaction every time the filter is checked.
>
Just to clarify, by patch 1, I mean the first patch in this thread
(v1) posted by Lie Jie here - (1)
regards,
Ajin Cherian
Fujitsu Australia
From | Date | Subject | |
---|---|---|---|
Next Message | Abhishek Chanda | 2025-02-20 03:36:26 | Re: Adding support for SSLKEYLOGFILE in the frontend |
Previous Message | Ajin Cherian | 2025-02-20 02:30:18 | Re: Proposal: Filter irrelevant change before reassemble transactions during logical decoding |