| From: | shveta malik <shveta(dot)malik(at)gmail(dot)com> |
|---|---|
| To: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
| Cc: | Peter Smith <smithpb2250(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com>, Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, shveta malik <shveta(dot)malik(at)gmail(dot)com> |
| Subject: | Re: POC: enable logical decoding when wal_level = 'replica' without a server restart |
| Date: | 2025-11-14 09:25:20 |
| Message-ID: | CAJpy0uA_vtur2KAHzDK+EVQWDL2EHbEYJuSYzafW7myunyuWGQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
In an offline discussion with Kuroda-san, we realized that TRUNCATE
may hit Assert(XLogLogicalInfoActive()) in ExecuteTruncateGuts() under
our current implementation, where logical decoding is disabled lazily.
Consider the case where there’s only one logical slot and we attempt
to drop it. The backend issues the drop request, but before the
checkpointer actually disables logical decoding, a TRUNCATE is
executed. Since logical decoding is still marked as active at that
moment, the ExecuteTruncate() appends the OID to relids_logged.
However, by the time control reaches ExecuteTruncateGuts, the
checkpointer has already disabled logical decoding resulting in
Assert.
TRAP: failed Assert("XLogLogicalInfoActive()"), File: "tablecmds.c",
Line: 2298, PID: 16477
[local] TRUNCATE TABLE(ExceptionalCondition+0xbb)[0x5bc368d9c1fa]
[local] TRUNCATE TABLE(ExecuteTruncateGuts+0xc85)[0x5bc368806c5d]
thanks
Shveta
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Amit Kapila | 2025-11-14 09:38:25 | Re: POC: enable logical decoding when wal_level = 'replica' without a server restart |
| Previous Message | Fujii Masao | 2025-11-14 09:15:27 | Re: Suggestion to add --continue-client-on-abort option to pgbench |