Re: PG16 walsender hangs in ResourceArrayEnlarge using pgoutput
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
Cc: Bowen Shi <zxwsbg12138@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2024-06-26T05:05:37Z
Lists: pgsql-bugs
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? BTW, can we think of a resource owner for managing pgoutput resources similar to the memory context we have in PGOutputData? This will avoid allocating the resources in Xact or other resource owners. This will make resource management local to pgoutput similar to what we have for memory context in PGOutputData. I suggest having a separate resource owner only for the HEAD branch (which will be PG18). -- With Regards, Amit Kapila.
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