On Tue, 3 Oct 2023 at 15:54, vignesh C <vignes...@gmail.com> wrote: > > On Mon, 3 Jul 2023 at 07:16, Masahiko Sawada <sawada.m...@gmail.com> wrote: > > > > On Fri, Jun 23, 2023 at 12:39 PM Dilip Kumar <dilipbal...@gmail.com> wrote: > > > > > > On Fri, Jun 9, 2023 at 10:47 AM Masahiko Sawada <sawada.m...@gmail.com> > > > wrote: > > > > > > > > Hi, > > > > > > > > In logical decoding, we don't need to collect decoded changes of > > > > aborted transactions. While streaming changes, we can detect > > > > concurrent abort of the (sub)transaction but there is no mechanism to > > > > skip decoding changes of transactions that are known to already be > > > > aborted. With the attached WIP patch, we check CLOG when decoding the > > > > transaction for the first time. If it's already known to be aborted, > > > > we skip collecting decoded changes of such transactions. That way, > > > > when the logical replication is behind or restarts, we don't need to > > > > decode large transactions that already aborted, which helps improve > > > > the decoding performance. > > > > > > > +1 for the idea of checking the transaction status only when we need > > > to flush it to the disk or send it downstream (if streaming in > > > progress is enabled). Although this check is costly since we are > > > planning only for large transactions then it is worth it if we can > > > occasionally avoid disk or network I/O for the aborted transactions. > > > > > > > Thanks. > > > > I've attached the updated patch. With this patch, we check the > > transaction status for only large-transactions when eviction. For > > regression test purposes, I disable this transaction status check when > > logical_replication_mode is set to 'immediate'. > > May be there is some changes that are missing in the patch, which is > giving the following errors: > reorderbuffer.c: In function ‘ReorderBufferCheckTXNAbort’: > reorderbuffer.c:3584:22: error: ‘logical_replication_mode’ undeclared > (first use in this function) > 3584 | if (unlikely(logical_replication_mode == > LOGICAL_REP_MODE_IMMEDIATE)) > | ^~~~~~~~~~~~~~~~~~~~~~~~
With no update to the thread and the compilation still failing I'm marking this as returned with feedback. Please feel free to resubmit to the next CF when there is a new version of the patch. Regards, Vignesh