Re: Decoding speculative insert with toast leaks memory

From: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Petr Jelinek <petr(dot)jelinek(at)enterprisedb(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
Subject: Re: Decoding speculative insert with toast leaks memory
Date: 2021-05-31 03:20:16
Message-ID: CAFiTN-suvqUk14Gmg11jP1qf-KOokx-p2N=udqkf-TiJbtTqHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, 31 May 2021 at 8:21 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:

> On Sat, May 29, 2021 at 5:45 PM Tomas Vondra
> <tomas(dot)vondra(at)enterprisedb(dot)com> wrote:
> >
> > On 5/29/21 6:29 AM, Amit Kapila wrote:
> > > On Fri, May 28, 2021 at 5:16 PM Tomas Vondra
> > > <tomas(dot)vondra(at)enterprisedb(dot)com> wrote:
> > >>
> > >> I wonder if there's a way to free the TOASTed data earlier, instead of
> > >> waiting until the end of the transaction (as this patch does).
> > >>
> > >
> > > IIUC we are anyway freeing the toasted data at the next
> > > insert/update/delete. We can try to free at other change message types
> > > like REORDER_BUFFER_CHANGE_MESSAGE but as you said that may make the
> > > patch more complex, so it seems better to do the fix on the lines of
> > > what is proposed in the patch.
> > >
> >
> > +1
> >
> > Even if we started doing what you mention (freeing the hash for other
> > change types), we'd still need to do what the patch proposes because the
> > speculative insert may be the last change in the transaction. For the
> > other cases it works as a mitigation, so that we don't leak the memory
> > forever.
> >
>
> Right.
>
> > So let's get this committed, perhaps with a comment explaining that it
> > might be possible to reset earlier if needed.
> >
>
> Okay, I think it would be better if we can test this once for the
> streaming case as well. Dilip, would you like to do that and send the
> updated patch as per one of the comments by Tomas?

I will do that in sometime.

> --
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2021-05-31 03:21:26 Re: Forget close an open relation in ReorderBufferProcessTXN()
Previous Message Ajin Cherian 2021-05-31 03:09:28 Re: [HACKERS] logical decoding of two-phase transactions