RE: Session in aborted transaction misses effective_wal_level change

From: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>
To: 'Bertrand Drouvot' <bertranddrouvot(dot)pg(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: Sergei Patiakin <sergei(dot)patiakin(at)enterprisedb(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "msawada(at)postgresql(dot)org" <msawada(at)postgresql(dot)org>
Subject: RE: Session in aborted transaction misses effective_wal_level change
Date: 2026-10-05 03:35:35
Message-ID: OS7PR01MB18317EB21BD4551CC8EEB6F22F5962@OS7PR01MB18317.jpnprd01.prod.outlook.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dear Bertrand, Sawada-san,

> I wonder if it wouldn't make more sense to keep this after
> XactTopFullTransactionId
> is reset, as in v1?
>
> Indeed, couldn't a barrier be processed during AtCleanup_Memory(), while the
> XID is still valid, and set XLogLogicalInfoUpdatePending again after this call?

Per my research the function calls MemoryContextCallResetCallbacks(), which can
calls the arbitrary functions from core and extensions. So It's possible that a
random callback calls CHECK_FOR_INTERRUPTS() and consumes a barrier.

I still prefer to put after resetting the XactTopFullTransactionId.

Best regards,
Hayato Kuroda
FUJITSU LIMITED

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message shihao zhong 2026-10-05 03:47:10 Re: pg_resetwal: refuse to run when backup_label exists
Previous Message shihao zhong 2026-10-05 03:35:01 Re: Parallel autovacuum: DROP DATABASE WITH (FORCE) fails on the parallel workers