At Tue, 2 Nov 2021 16:40:39 +0530, Dilip Kumar <dilipbal...@gmail.com> wrote in > On Tue, Oct 19, 2021 at 2:25 PM Dilip Kumar <dilipbal...@gmail.com> wrote: > > > > On Tue, Oct 12, 2021 at 11:30 AM Dilip Kumar <dilipbal...@gmail.com> wrote: > > > > > > On Tue, Oct 12, 2021 at 10:35 AM Kyotaro Horiguchi > > > <horikyota....@gmail.com> wrote: > > > > > > > > At Tue, 12 Oct 2021 13:59:59 +0900 (JST), Kyotaro Horiguchi > > > > <horikyota....@gmail.com> wrote in > > > > > So I came up with the attached version. > > > > > > > > Sorry, it was losing a piece of change. > > > > > > Yeah, at a high level this is on the idea I have in mind, I will do a > > > detailed review in a day or two. Thanks for working on this. > > > > While doing the detailed review, I think there are a couple of > > problems with the patch, the main problem of storing all the xid in > > the snap->subxip is that once we mark the snapshot overflown then the > > XidInMVCCSnapshot, will not search the subxip array, instead it will > > fetch the topXid and search in the snap->xip array. > > I missed that you are marking the snapshot as takenDuringRecovery so > your fix looks fine. > > Another issue is > > that the total xids could be GetMaxSnapshotSubxidCount() > > +GetMaxSnapshotXidCount(). > > > > I have fixed this, the updated patch is attached.
Mmm. The size of the array cannot be larger than the numbers the *Connt() functions return. Thus we cannot attach the oversized array to ->subxip. (I don't recall clearly but that would lead to assertion failure somewhere..) regards. -- Kyotaro Horiguchi NTT Open Source Software Center