| From: | "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com> |
|---|---|
| To: | Michael Paquier <michael(at)paquier(dot)xyz>, Euler Taveira <euler(at)eulerto(dot)com> |
| Cc: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | RE: Memory leak in WAL sender with pgoutput (v10~) |
| Date: | 2024-12-04 02:09:16 |
| Message-ID: | OS0PR01MB571684B0203EE20FB3EECC6894372@OS0PR01MB5716.jpnprd01.prod.outlook.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wednesday, December 4, 2024 8:55 AM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> On Tue, Dec 03, 2024 at 09:46:06PM -0300, Euler Taveira wrote:
> > Although, Debian code search [1] says this data structure is not used
> outside
> > PostgreSQL, I wouldn't risk breaking third-party extensions during a minor
> > upgrade (even if it is known that such data structure is from that particular
> > output plugin -- pgoutput -- and other output plugins generally have its own
> > data structure). +1 from Alvaro's proposal.
>
> A lookup of the public repos of github did not show fancy with the
> manipulation of the structure for peoject related to Postgres, either.
>
> FWIW, I'm OK with the memory context reset solution as much as the
> direct free calls as we are sure that they will be safe. And at the
> end of the day, the problem would be solved with any of these
> solutions. My votes would be +0.6 for the free and +0.5 for the mcxt
> manipulation, so let's say that they are tied.
>
> As Alvaro and yourself are in favor of the mcxt approach, then let's
> go for it.
+1
> Amit has concerns with other code paths that could be
> similarly leaking. I'm not sure if this is worth waiting too long
> based on how local the fix for the existing leak is with any of these
> solutions.
It appears there is an additional memory leak caused by allocating publication
names within the CacheMemoryContext, as noted in [1]. And it can also be fixed by
creating a separate memctx for publication names under the logical decoding
context. I think the approach makes sense since the lifespan of publication
names should ideally align with that of the logical decoding context.
Best Regards,
Hou zj
| From | Date | Subject | |
|---|---|---|---|
| Next Message | jian he | 2024-12-04 02:52:29 | Re: not null constraints, again |
| Previous Message | Devulapalli, Raghuveer | 2024-12-04 01:45:59 | RE: Proposal for Updating CRC32C with AVX-512 Algorithm. |