Re: Adding a '--two-phase' option to 'pg_createsubscriber' utility.

From: Shubham Khanna <khannashubham1197(at)gmail(dot)com>
To: Peter Smith <smithpb2250(at)gmail(dot)com>
Cc: vignesh C <vignesh21(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Adding a '--two-phase' option to 'pg_createsubscriber' utility.
Date: 2024-12-13 07:31:24
Message-ID: CAHv8RjJVMY3vKLhsctmZQO9YdABjB8okorxM+Cz1SExee7-xvA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Dec 13, 2024 at 12:20 PM Peter Smith <smithpb2250(at)gmail(dot)com> wrote:
>
> Hi Shubham.
>
> Here are my review comments for v6-0001.
>
> ======
> 1.
> +# Verify that the subtwophase is enabled ('e') in the pg_subscription catalog
> +$node_s->poll_query_until('postgres',
> + "SELECT count(1) = 2 FROM pg_subscription WHERE subtwophasestate = 'e';")
> + or die "Timed out while waiting for subscriber to enable twophase";
> +
>
> This form of the SQL is probably OK but it's a bit tricky; Probably it
> should have been explained in the comment about where that count "2"
> has come from.
>
> ~~
>
> I think it was OK as before (v5) to be querying until nothing was NOT
> 'e'. In other words, until everything was enabled 'e'.
> SELECT count(1) = 0 FROM pg_subscription WHERE subtwophasestate NOT IN ('e');
>
> ~~
>
> OTOH, to save execution time we really would be satisfied with both
> 'p' and 'e' states here. (we don't strictly need to wait for the
> transition from 'p' to 'e' to occur).
>
> So, SQL like the one below might be the best:
>
> # Verify that all subtwophase states are pending or enabled,
> # e.g. there are no subscriptions where subtwophase is disabled ('d').
> SELECT count(1) = 0 FROM pg_subscription WHERE subtwophasestate IN ('d')
>

I have fixed the given comment. Since prepared transactions are not
being used anymore, I have removed it from the test file.
The attached patch contains the suggested changes.

Thanks and regards,
Shubham Khanna.

Attachment Content-Type Size
v7-0001-Add-support-for-two-phase-commit-in-pg_createsubs.patch application/octet-stream 11.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message jian he 2024-12-13 08:26:55 Re: on_error table, saving error info to a table
Previous Message Steven Niu 2024-12-13 07:19:19 Re: Patching for increasing the number of columns