On Tue, Sep 22, 2020 at 6:48 AM tsunakawa.ta...@fujitsu.com <tsunakawa.ta...@fujitsu.com> wrote: > > > > I think it's not necessarily that all FDW implementations need to be > > able to support xa_complete(). We can support both synchronous and > > asynchronous executions of prepare/commit/rollback. > > Yes, I think parallel prepare and commit can be an option for FDW. But I > don't think it's an option for a serious scale-out DBMS. If we want to use > FDW as part of PostgreSQL's scale-out infrastructure, we should design (if > not implemented in the first version) how the parallelism can be realized. > That design is also necessary because it could affect the FDW API.
parallelism here has both pros and cons. If one of the servers errors out while preparing for a transaction, there is no point in preparing the transaction on other servers. In parallel execution we will prepare on multiple servers before realising that one of them has failed to do so. On the other hand preparing on multiple servers in parallel provides a speed up. But this can be an improvement on version 1. The current approach doesn't render such an improvement impossible. So if that's something hard to do, we should do that in the next version rather than complicating this patch. -- Best Wishes, Ashutosh Bapat