RE: PG16 walsender hangs in ResourceArrayEnlarge using pgoutput
Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>
From: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Bowen Shi <zxwsbg12138@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2024-06-27T03:31:06Z
Lists: pgsql-bugs
Attachments
- v2-PG15-0001-Drop-the-tuple-slot-when-no-longer-needed.patch (application/octet-stream) patch v2-0001
- v2-PG16-HEAD-0001-Drop-the-tuple-slot-when-no-longer-needed.patch (application/octet-stream) patch v2-0001
On Wednesday, June 26, 2024 1:25 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Wed, Jun 26, 2024 at 10:35 AM Amit Kapila <amit.kapila16@gmail.com> > wrote: > > > > On Tue, Jun 25, 2024 at 5:17 PM Zhijie Hou (Fujitsu) > > <houzj.fnst@fujitsu.com> wrote: > > > > > > On Tuesday, June 25, 2024 3:53 PM Bowen Shi > <zxwsbg12138@gmail.com> wrote: > > > > > > Thanks for reporting and analyzing the issue ! > > > > > > You analysis looks good to me, I think I missed to drop the newly > > > created slot when changing the logic to support row filter. Here is > > > a small patch to drop the slots in each cycle, it can fix the issue on my > machine. > > > > > > IIUC, the issue exists from PG15~HEAD. The current patch can apply > > > on PG16~HEAD, If it looks ok, I will test and prepare the patch for > > > the other branch. > > > > > > > IIUC, the relevant code was added in commit > > da324d6cd45bbbcc1682cc2fcbc4f575281916af. This is a PG16 commit, so > > how can the problem occur in PG15? > > > > I see that originally the slot allocation code was introduced in commit > 52e4f0cd472d39d07732b99559989ea3b615be78 but later the code refactored in > da324d6cd45bbbcc1682cc2fcbc4f575281916af. So, I agree that we must also > fix this in PG15. Thanks for confirming! Here are the patches for all branches. I am researching the comment for resource owner and will reply later. Best Regards, Hou zj
Commits
-
Drop the temporary tuple slots allocated by pgoutput.
- 3e53492aa708 17.0 landed
- b8f953d8d7bf 16.4 landed
- 76fda6140274 15.8 landed
-
Refactor pgoutput_change().
- da324d6cd45b 16.0 cited
-
Allow specifying row filters for logical replication of tables.
- 52e4f0cd472d 15.0 cited