| From: | "alvherre(at)kurilemu(dot)de" <alvherre(at)kurilemu(dot)de> |
|---|---|
| To: | Bingshuai Li <lucian1412(at)outlook(dot)com> |
| Cc: | "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "mark(dot)dilger(at)enterprisedb(dot)com" <mark(dot)dilger(at)enterprisedb(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Alexander Lakhin <exclusion(at)gmail(dot)com>, Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com>, "a(dot)kozhemyakin(at)postgrespro(dot)ru" <a(dot)kozhemyakin(at)postgrespro(dot)ru> |
| Subject: | Re: Bug in logical decoding with DDL and subtransactions |
| Date: | 2026-09-17 11:16:04 |
| Message-ID: | aqvJDO3fYcomY4Cr@alvherre.pgsql |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 2026-Sep-17, Bingshuai Li wrote:
> With the buildfarm now red on HEAD and PostgreSQL 19 GA
> approaching, could a committer please take a look at v4? The two
> points where I would most appreciate judgement are unchanged from
> my August 27 mail: the restart_lsn invariant (section 2 of the v4
> mail), and whether the O(N) abort-time cleanup is acceptable to
> backpatch. I also believe this strengthens the case for tracking
> BUG #19555 as a PostgreSQL 19 open item.
What's the reason to consider this as a worse problem in 19 than in
previous releases? In my mind it's pretty clear that this bug needs to
be fixed in all stable branches. Moreover, I think the real deadline
here is the next set of minors to be released in November, rather than
the 19.0 release. The November minors would also include 19.1.
> I'm happy to prepare a REL_19_STABLE version of the patch if that
> would help.
If the proposed patch has any conflicts when applied on any previous
branches, then by all means please do provide backpatches as
appropriate. However, if the same patch applies cleanly or only has
trivial conflicts, then there's no need. (I see there's a trivial
conflict in 18's test schedule files for instance, for which IMO you
don't need to provide a patch. Didn't try further back.)
The patch does change the layout of ReorderBufferChange, which is
apparently an exported struct, so some analysis on whether that can
break anything would also be useful. It might be innocuous, if there
are no external users, but better make sure ...
--- /tmp/ReorderBufferChange.unpatched 2026-09-17 13:09:09.517276936 +0200
+++ /tmp/ReorderBufferChange.patched 2026-09-17 13:09:35.505580268 +0200
@@ -37,27 +37,29 @@
CommandId command_id; /* 32 4 */
struct {
RelFileLocator locator; /* 32 12 */
ItemPointerData tid __attribute__((__aligned__(2))); /* 44 6 */
/* XXX 2 bytes hole, try to pack */
CommandId cmin; /* 52 4 */
CommandId cmax; /* 56 4 */
CommandId combocid; /* 60 4 */
- } __attribute__((__aligned__(4))) tuplecid __attribute__((__aligned__(4))); /* 32 32 */
+ /* --- cacheline 1 boundary (64 bytes) --- */
+ TransactionId subxid; /* 64 4 */
+ } __attribute__((__aligned__(4))) tuplecid __attribute__((__aligned__(4))); /* 32 36 */
struct {
uint32 ninvalidations; /* 32 4 */
/* XXX 4 bytes hole, try to pack */
SharedInvalidationMessage * invalidations; /* 40 8 */
} inval; /* 32 16 */
- } data __attribute__((__aligned__(8))); /* 32 32 */
- /* --- cacheline 1 boundary (64 bytes) --- */
- dlist_node node; /* 64 16 */
+ } data __attribute__((__aligned__(8))); /* 32 40 */
+ /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */
+ dlist_node node; /* 72 16 */
- /* size: 80, cachelines: 2, members: 6 */
- /* sum members: 70, holes: 2, sum holes: 10 */
+ /* size: 88, cachelines: 2, members: 6 */
+ /* sum members: 78, holes: 2, sum holes: 10 */
/* forced alignments: 1, forced holes: 1, sum forced holes: 6 */
- /* last cacheline: 16 bytes */
+ /* last cacheline: 24 bytes */
} __attribute__((__aligned__(8)));
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"Debido a que la velocidad de la luz es mucho mayor que la del sonido,
algunas personas nos parecen brillantes un minuto antes
de escuchar las pelotudeces que dicen." (Roberto Fontanarrosa)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Henson Choi | 2026-09-17 11:21:43 | Re: [SQL/PGQ] Native executor for Graph query |
| Previous Message | Etsuro Fujita | 2026-09-17 11:12:54 | Re: [PG19][PATCH] Make postgres_fdw statistics import atomic |