Re: postgres_fdw: commit remote (sub)transactions in parallel during pre-commit

From: David Zhang <david(dot)zhang(at)highgo(dot)ca>
To: Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>, Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: postgres_fdw: commit remote (sub)transactions in parallel during pre-commit
Date: 2022-02-18 21:55:19
Message-ID: 66d99132-5946-ba74-ffa6-620eb50b7a8f@highgo.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Thanks a lot for updating the patch.

Tried to apply the patches to master branch, no warning found and
regression test passed.

Now, we have many places (5) calling the same function with a constant
number 30000. Is this a good time to consider redefine this number a
macro somewhere?

Thank you,

On 2022-02-17 8:46 a.m., Fujii Masao wrote:
>
>
> On 2022/02/11 21:59, Etsuro Fujita wrote:
>> I tweaked comments/docs a little bit as well.
>
> Thanks for updating the patches!
>
> I reviewed 0001 patch. It looks good to me except the following minor
> things. If these are addressed, I think that the 001 patch can be
> marked as ready for committer.
>
> +     * Also determine to commit (sub)transactions opened on the
> remote server
> +     * in parallel at (sub)transaction end.
>
> Like the comment "Determine whether to keep the connection ...",
> "determine to commit" should be "determine whether to commit"?
>
> "remote server" should be "remote servers"?
>
>
> +    curlevel = GetCurrentTransactionNestLevel();
> +    snprintf(sql, sizeof(sql), "RELEASE SAVEPOINT s%d", curlevel);
>
> Why does pgfdw_finish_pre_subcommit_cleanup() need to call
> GetCurrentTransactionNestLevel() and construct the "RELEASE SAVEPOINT"
> query string again? pgfdw_subxact_callback() already does them and
> probably we can make it pass either of them to
> pgfdw_finish_pre_subcommit_cleanup() as its argument.
>
>
> +       This option controls whether <filename>postgres_fdw</filename>
> commits
> +       remote (sub)transactions opened on a foreign server in a local
> +       (sub)transaction in parallel when the local (sub)transaction
> commits.
>
> "a foreign server" should be "foreign servers"?
>
> "in a local (sub)transaction" part seems not to be necessary.
>
> Regards,
>
--
David

Software Engineer
Highgo Software Inc. (Canada)
www.highgo.ca

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2022-02-18 21:56:37 Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations
Previous Message James Coleman 2022-02-18 21:46:56 Re: Synchronizing slots from primary to standby