RE: locking [user] catalog tables vs 2pc vs logical rep

From: "osumi(dot)takamichi(at)fujitsu(dot)com" <osumi(dot)takamichi(at)fujitsu(dot)com>
To: 'Amit Kapila' <amit(dot)kapila16(at)gmail(dot)com>
Cc: vignesh C <vignesh21(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Markus Wanner <markus(dot)wanner(at)enterprisedb(dot)com>
Subject: RE: locking [user] catalog tables vs 2pc vs logical rep
Date: 2021-06-17 03:11:27
Message-ID: OSBPR01MB48882769206E2125B506F1F5ED0E9@OSBPR01MB4888.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wednesday, June 16, 2021 7:21 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> On Mon, Jun 14, 2021 at 5:33 PM osumi(dot)takamichi(at)fujitsu(dot)com
> <osumi(dot)takamichi(at)fujitsu(dot)com> wrote:
> >
> > On Friday, June 11, 2021 2:13 PM vignesh C <vignesh21(at)gmail(dot)com>
> wrote:
> >
> > Attached the patch-set that addressed those two comments.
> >
>
> Few minor comments:
> 1.
> + <listitem>
> + <para>
> + Clustering <structname>pg_class</structname> in a transaction.
>
> Can we change above to: Perform <command>CLUSTER</command> on
> <structname>pg_class</structname> in a transaction.
Looks better.

>
> 2.
> + <listitem>
> + <para>
> + Executing <command>TRUNCATE</command> on user catalog
> table
> in a transaction.
> + </para>
>
> Square brackets are missing for user.
Thanks for catching it. You are right.

> 3.
> + <indexterm>
> + <primary>Overview</primary>
> + </indexterm>
> ..
> ..
> + <indexterm>
> + <primary>Caveats</primary>
> + </indexterm>
>
> Why are these required when we already have titles? I have seen other places
> in the docs where we use titles for Overview and Caveats but they didn't have
> similar usage.
Sorry, this was a mistake. We didn't need those sections.

> 4.
> <para>
> + Performing <command>PREPARE TRANSACTION</command>
> after
> <command>LOCK</command>
> + command on <structname>pg_class</structname> and logical
> decoding of published
> + table.
>
> Can we change above to: <command>PREPARE
> TRANSACTION</command> after <command>LOCK</command>
> command on <structname>pg_class</structname> and allow logical
> decoding of two-phase transactions.
>
> 5.
> + <para>
> + Clustering <structname>pg_trigger</structname> and decoding
> <command>PREPARE
> + TRANSACTION</command>, if any published table have a trigger
> and any
> + operations that will be decoded are conducted.
> + </para>
>
> Can we change above to: <command>PREPARE
> TRANSACTION</command> after <command>CLUSTER</command>
> command on <structname>pg_trigger</structname> and allow logical
> decoding of two-phase transactions. This will lead to deadlock only when
> published table have a trigger.
Yeah, I needed the nuance to turn on logical decoding of two-phase transactions...
Your above suggestions are much tidier and more accurate than mine.
I agree with your all suggestions.

Best Regards,
Takamichi Osumi

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Yugo NAGATA 2021-06-17 03:23:42 Re: pgbench logging broken by time logic changes
Previous Message Michael Paquier 2021-06-17 03:01:31 Re: Improving isolationtester's data output