Re: Skip collecting decoded changes of already-aborted transactions
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>,
Peter Smith <smithpb2250@gmail.com>, Ajin Cherian <itsajin@gmail.com>, vignesh C <vignesh21@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-12-17T11:25:07Z
Lists: pgsql-hackers
On Sun, Dec 15, 2024 at 10:45 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > On Fri, Dec 13, 2024 at 3:01 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > > > DDLs write not only XLOG_XACT_INVALIDATIONS but also system catalog > > changes. I think that when decoding these system catalog changes, we > > end up calling SnapBuildProcessChange(). I understand that decoding > > XLOG_XACT_INVALIDATIONS doesn't call SnapBuildProcessChange() but > > queues invalidation messages to the reorderbuffer, but I still don't > > understand cases where a transaction entry is quite big and has only a > > lot of invalidation messages. > > You are right that SnapBuildProcessChange() will be called when there > are changes in the system catalog. However it is very much possible > that when you are processing the system catalog operation the > snapbuild state is not yet SNAPBUILD_FULL_SNAPSHOT and by the time you > reach to XLOG_XACT_INVALIDATIONS some concurrent transaction get > committed and snapbuild state change to SNAPBUILD_FULL_SNAPSHOT. > However, I need to agree that such a transaction can not really be > very large because this can contain Invalidation messages at max from > a single DDL command so maybe we don't need to do anything special for > them and we can go ahead with the approach you followed in the current > patch. > Thanks, I also think we can proceed with the current approach. So, the pending task is to address a few comments raised by me. -- With Regards, Amit Kapila.
Commits
-
Rename RBTXN_PREPARE to RBTXN_IS_PREPARE for better clarification.
- abfb29648f9a 18.0 landed
-
Skip logical decoding of already-aborted transactions.
- 072ee847ad4c 18.0 landed