| 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
| 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 |