On Tue, Sep 8, 2020 at 8:05 AM Fujii Masao <masao.fu...@oss.nttdata.com> wrote: > > On 2020/09/08 10:34, Amit Kapila wrote: > > On Mon, Sep 7, 2020 at 2:29 PM Fujii Masao <masao.fu...@oss.nttdata.com> > > wrote: > >> > >> IMO it's not easy to commit this 2PC patch at once because it's still large > >> and complicated. So I'm thinking it's better to separate the feature into > >> several parts and commit them gradually. > >> > > > > Hmm, I don't see that we have a consensus on the design and or > > interfaces of this patch and without that proceeding for commit > > doesn't seem advisable. Here are a few points which I remember offhand > > that require more work. > > Thanks! > > > 1. There is a competing design proposed and being discussed in another > > thread [1] for this purpose. I think both the approaches have pros and > > cons but there doesn't seem to be any conclusion yet on which one is > > better. > > I was thinking that [1] was discussing global snapshot feature for > "atomic visibility" rather than the solution like 2PC for "atomic commit". > But if another approach for "atomic commit" was also proposed at [1], > that's good. I will check that. >
Okay, that makes sense. > > 2. In this thread, we have discussed to try integrating this patch > > with some other FDWs (say MySQL, mongodb, etc.) to ensure that the > > APIs we are exposing are general enough that other FDWs can use them > > to implement 2PC. I could see some speculations about the same but no > > concrete work on the same has been done. > > Yes, you're right. > > > 3. In another thread [1], we have seen that the patch being discussed > > in this thread might need to re-designed if we have to use some other > > design for global-visibility than what is proposed in that thread. I > > think it is quite likely that can happen considering no one is able to > > come up with the solution to major design problems spotted in that > > patch yet. > > You imply that global-visibility patch should be come first before "2PC" > patch? > I intend to say that the global-visibility work can impact this in a major way and we have analyzed that to some extent during a discussion on the other thread. So, I think without having a complete design/solution that addresses both the 2PC and global-visibility, it is not apparent what is the right way to proceed. It seems to me that rather than working on individual (or smaller) parts one needs to come up with a bigger picture (or overall design) and then once we have figured that out correctly, it would be easier to decide which parts can go first. -- With Regards, Amit Kapila.