Re: lsyscache: free IndexAmRoutine objects returned by GetIndexAmRoutineByAmId()

From: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Álvaro Herrera <alvherre(at)kurilemu(dot)de>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: lsyscache: free IndexAmRoutine objects returned by GetIndexAmRoutineByAmId()
Date: 2025-12-30 18:03:30
Message-ID: CAEze2WjBnKq6ca7HQjm8br+_8MRZZXrNWA6z8xcajTP_uNf4nA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 30 Dec 2025 at 16:25, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com> writes:
> > On Tue, 30 Dec 2025 at 15:15, Álvaro Herrera <alvherre(at)kurilemu(dot)de> wrote:
> >> One thing we can perhaps do is (in assert-enabled builds) to detect
> >> whether memory usage for that context has increased during
> >> InitIndexAmRoutine and raise a warning if so. Then extension authors
> >> would realize this and have a chance to fix it promptly.
>
> > Hmm, wouldn't we be able to detect changes in
> > MemoryContextMemConsumed(ctx, counters) with one before and one after
> > GetIndexAmRoutine(), such as included below?
>
> I don't think we can do this, because there are effects that the
> amhandler doesn't have control over. In particular, if we have to
> load its pg_proc row into syscache during fmgr_info, I don't think
> that is positively guaranteed not to leak anything. (This isn't
> a factor for built-in AMs, which will take the fast path in
> fmgr_info, but it will be an issue for extensions.)
>
> I am not terribly concerned by one-time leaks of that sort, so
> I don't really feel an urge to try to complain about them.

If it's difficult to filter out one-time leaks into the context caused
by e.g. fmgr infra, then -indeed- it's probably not worth the effort.

In which case, v3 LGTM.

Kind regards,

Matthias van de Meent
Databricks (https://www.databricks.com)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2025-12-30 18:52:43 Re: Assertion failure in SnapBuildInitialSnapshot()
Previous Message Bryan Green 2025-12-30 15:55:24 Re: Python Limited API for PL/Python on MSVC