Re: BUG #17844: Memory consumption for memoize node

Alexey Ermakov <alexey.ermakov@dataegret.com>

From: Alexey Ermakov <alexey.ermakov@dataegret.com>
To: David Rowley <dgrowleyml@gmail.com>, pgsql-bugs@lists.postgresql.org
Date: 2023-03-20T06:23:11Z
Lists: pgsql-bugs
On 2023-03-19 15:33, David Rowley wrote:
> On Sat, 18 Mar 2023 at 13:22, David Rowley <dgrowleyml@gmail.com> wrote:
>> It seems to be related to a bug in nodeMemoize.c where we're
>> evaluating the cache key expressions in the ExecutorState context. We
>> should really be in a more temporary context that gets reset early in
>> cache_lookup() before the call to prepare_probe_slot(). I'll need to
>> look in a bit more detail about what that context actually should be.
> I've attached fix_memoize_memory_leak.patch to address this.
>
> Using your test case, here are the memory stats before and after the
> fix (taken during ExecEndMemoize).
>
Thanks a lot! Could you please point me in the direction how to get such 
memory stats ? I might know another memory leak I'd like to check but 
sadly I don't know right tools to measure memory usage.


--

Thanks,

Alexey Ermakov





Commits

  1. Have the planner account for the Memoize cache key memory

  2. Fix memory leak in Memoize cache key evaluation