Avoid distributing new catalog snapshot again for the transaction being decoded.

From: "houzj(dot)fnst(at)fujitsu(dot)com" <houzj(dot)fnst(at)fujitsu(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Avoid distributing new catalog snapshot again for the transaction being decoded.
Date: 2022-11-25 08:58:03
Message-ID: OS0PR01MB57169E394CD4AB71F9C6D58E940E9@OS0PR01MB5716.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

When doing some other related work, I noticed that when decoding the COMMIT
record via SnapBuildCommitTxn()-> SnapBuildDistributeNewCatalogSnapshot() we
will add a new snapshot to all transactions including the one being decoded(just committed one).

But since we've already done required modifications in the snapshot for the
current transaction being decoded(in SnapBuildCommitTxn()), so I think we can
avoid adding a snapshot for it again.

Here is the patch to improve this.
Thoughts ?

Best regards,
Hou zhijie

Attachment Content-Type Size
0001-Avoid-distributing-new-catalogsnapshot-for-the-trans.patch application/octet-stream 2.6 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Maxim Orlov 2022-11-25 08:58:34 Re: [BUG] FailedAssertion in SnapBuildPurgeOlderTxn
Previous Message Jakub Wartak 2022-11-25 08:57:24 Re: CREATE UNLOGGED TABLE seq faults when debug_discard_caches=1