On Sat, 17 Apr 2021 at 12:03, osumi.takami...@fujitsu.com <osumi.takami...@fujitsu.com> wrote: > On Saturday, April 17, 2021 12:53 AM Japin Li <japi...@hotmail.com> >> On Fri, 16 Apr 2021 at 17:19, osumi.takami...@fujitsu.com >> <osumi.takami...@fujitsu.com> wrote: >> > On Friday, April 16, 2021 5:50 PM Amit Kapila <amit.kapil...@gmail.com> >> wrote: >> >> On Fri, Apr 16, 2021 at 12:56 PM osumi.takami...@fujitsu.com >> >> <osumi.takami...@fujitsu.com> wrote: >> >> > >> >> > > Thanks for your reminder. It might be a way to solve this problem. >> >> > Yeah. I've made the 1st patch for this issue. >> >> > >> >> > In my env, with the patch >> >> > the TRUNCATE in synchronous logical replication doesn't hang. >> >> > >> >> >> >> Few initial comments: >> >> ===================== >> >> 1. >> >> + relreplindex = relation->rd_replidindex; >> >> + >> >> + /* >> >> + * build attributes to idindexattrs. >> >> + */ >> >> + idindexattrs = NULL; >> >> + foreach(l, indexoidlist) >> >> + { >> >> + Oid indexOid = lfirst_oid(l); >> >> + Relation indexDesc; >> >> + int i; >> >> + bool isIDKey; /* replica identity index */ >> >> + >> >> + indexDesc = RelationIdGetRelation(indexOid); >> >> >> >> When you have oid of replica identity index (relreplindex) then what >> >> is the need to traverse all the indexes? >> > Ok. No need to traverse all the indexes. Will fix this part. >> > >> >> 2. >> >> It is better to name the function as RelationGet... >> > You are right. I'll modify this in my next version. >> > >> >> I took the liberty to address review comments and provide a v2 patch on top >> of your's v1 patch, also merge the test case. >> >> Sorry for attaching. > No problem. Thank you for updating the patch. > I've conducted some cosmetic changes. Could you please check this ? > That's already applied by pgindent. > > I executed RT for this and made no failure. > Just in case, I executed 010_truncate.pl test 100 times in a tight loop, > which also didn't fail. >
LGTM, I made an entry in the commitfest[1], so that the patches will get a chance to run on all the platforms. [1] - https://commitfest.postgresql.org/33/3081/ -- Regrads, Japin Li. ChengDu WenWu Information Technology Co.,Ltd.