RE: RE: Re:BUG #18369: logical decoding core on AssertTXNLsnOrder()
Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>
From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'Amit Kapila' <amit.kapila16@gmail.com>, ocean_li_996 <ocean_li_996@163.com>
Cc: Alexander Lakhin <exclusion@gmail.com>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>, "feichanghong@qq.com" <feichanghong@qq.com>
Date: 2024-03-09T04:50:02Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix catalog lookup due to wrong snapshot for subtransactions during decoding.
- 6b77048e571d 14.11 cited
Attachments
- REL_15_fix_coredump.patch (application/octet-stream) patch
- REL_12_fix_coredump.patch (application/octet-stream) patch
- REL_13_fix_coredump.patch (application/octet-stream) patch
- REL_14_fix_coredump.patch (application/octet-stream) patch
Dear Amit, OK, so let's consider the approach. Note that at this stage, another failure [1] was ignored. Here are patches for all supported versions. The failure on PG12-PG15 has been fixed on my env, but you can confirm as well. The approach is almost same as what initially shared by Haiyang [2]. However, instead of extending ReorderBufferXidSetCatalogChanges(), a new function ReorderBufferXidSetCatalogChangesEx() was added. Note again that there were changes also in ReorderBufferAssignChild() and ReorderBufferCleanupTXN(). Extended ReorderBufferXidSetCatalogChanges would the create ReorderBufferTXN not as top, however, these transaction would not be associated with the top one. So there is a possibility that txn->node is invalid. IIUC, only ReorderBufferAssignChild() calls ReorderBufferTXNByXid with create = true and create_as_top = false, and they would be immediately associated in below. ``` /* add to subtransaction list */ dlist_push_tail(&txn->subtxns, &subtxn->node); txn->nsubtxns++; ``` [1]: https://www.postgresql.org/message-id/TYCPR01MB12077573479C5A2471BDE8065F5232%40TYCPR01MB12077.jpnprd01.prod.outlook.com [2]: https://www.postgresql.org/message-id/6d0e80d6.c1fc.18deeb8120a.Coremail.ocean_li_996%40163.com Best Regards, Hayato Kuroda FUJITSU LIMITED https://www.fujitsu.com/