Re: Memory leak in WAL sender with pgoutput (v10~)

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, Euler Taveira <euler(at)eulerto(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Memory leak in WAL sender with pgoutput (v10~)
Date: 2024-12-09 23:26:20
Message-ID: Z1d8nFjyTiuzmwAq@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Dec 09, 2024 at 03:36:15PM +0530, Amit Kapila wrote:
> It couldn't solve the problem completely even in back-branches. The
> SQL API case I mentioned and tested by Hou-San in the email [1] won't
> be solved.
>
> [1] - https://www.postgresql.org/message-id/OS0PR01MB57166A4DA0ABBB94F2FBB28694362%40OS0PR01MB5716.jpnprd01.prod.outlook.com

Yeah, exactly (wanted to reply exactly that yesterday but lacked time,
thanks!).

Alvaro's solution is not perfect either as we would still bloat some
memory in the CacheMemoryContext when a single execution of the
logical decoding context finishes, but the static context approach
proposed at [2] has the merit to limit the damage on repetitive calls
when an invalidation can happen as well as in WAL senders with
periodic cleanups. The free APIs would just lose track of these
pointers: good for WAL senders, not for repetitive pgoutput calls.

Instead of ALLOCSET_DEFAULT_SIZES, it seems to me that we should
switch to ALLOCSET_SMALL_SIZES for consistency with HEAD in Alvaro's
patch. I would also switch "publication list context" to "logical
replication publication list context" to match with HEAD, while on it.

Would all that be OK for everybody in terms of what to do in stable
branches down to 13?

[2]: https://www.postgresql.org/message-id/202411300828.hwe55pzx5a4x@alvherre.pgsql
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2024-12-09 23:35:21 Re: Memory leak in WAL sender with pgoutput (v10~)
Previous Message Pavel Stehule 2024-12-09 23:20:38 Re: proposal: schema variables