On Thu, Oct 1, 2020 at 9:19 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Thu, Oct 1, 2020 at 8:22 AM Keisuke Kuroda > <keisuke.kuroda.3...@gmail.com> wrote: > > > > Hi Dilip, Amit, > > > > Thank you for the patch! > > > > I test the patch on the master HEAD(9796f455) and it works fine. > > * make installcheck-world: passed > > * walsender process continues to use 100% of the CPU 1core when > > TRUNCATE 1000 partition: 1s or less > > ** before patch : 230s > > > > Does this result indicate that it is still CPU bound but it does the > actual decoding and completes in 1s instead of spending 230s mainly to > execute unnecessary invalidations? > > > There is "ReorderBufferAddInvalidation" in reorderbuffer.h, but I > > don't think it's needed. > > > > src/include/replication/reorderbuffer.h > > +void ReorderBufferAddInvalidation(ReorderBuffer *, TransactionId, > > XLogRecPtr lsn, > > + int nmsgs, SharedInvalidationMessage *msgs); > > > > From the patch perspective, I think it is better if we can add one > test case as well where we process some invalidations and then the > rollback happens and we need to process all the invalidations > together. Basically, this is to cover the new code, if such a test > already exists then it is fine.
I think we already have such a test case. 019_stream_subxact_ddl_abort.pl is covering this scenario. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com