RE: Notify downstream to discard the streamed transaction which was aborted due to crash.
Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>
From: "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-01-06T05:44:16Z
Lists: pgsql-hackers
On Friday, January 6, 2023 1:15 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Fri, Jan 6, 2023 at 9:25 AM houzj.fnst@fujitsu.com <houzj.fnst@fujitsu.com> > wrote: > > > > > > To fix it, One idea is to send a stream abort message when we are > > cleaning up crashed transaction on publisher(e.g. in > > ReorderBufferAbortOld()). And here is a tiny patch which changes the > > same. I have confirmed that the bug is fixed and all regression tests > > pass. I didn't add a testcase because we need to make sure the crash > > happens before all the WAL logged transactions data are decoded which > doesn't seem easy to write a stable test for this. > > > > Your fix looks good to me. Have you tried this in PG-14 where it was > introduced? Yes, I have confirmed that PG-14 has the same problem and can be fixed after applying the patch. Best regards, Hou zj
Commits
-
Remove the streaming files for incomplete xacts after restart.
- 2b6df05461cb 16.0 landed
- 18b81258ab60 15.2 landed
- b2cc5b81001a 14.7 landed