Re: OOM in spgist insert - Mailing list pgsql-hackers

From Dilip Kumar
Subject Re: OOM in spgist insert
Date
Msg-id CAFiTN-sicEMLs1DZYq_aRg2rV25FgR8C2VmFFj_p8GFRYULsuQ@mail.gmail.com
Whole thread Raw
In response to Re: OOM in spgist insert  (Pavel Borisov <pashkin.elfe@gmail.com>)
Responses Re: OOM in spgist insert
List pgsql-hackers
On Wed, 12 May 2021 at 1:43 PM, Pavel Borisov <pashkin.elfe@gmail.com> wrote:
ср, 12 мая 2021 г. в 11:09, Dilip Kumar <dilipbalaut@gmail.com>:
While testing something on spgist I found that at certain point while
inserting in spgist it is going for doPickSplit, but even after split
is is not able to find a place to insert a tuple and it keeping going
in that loop infinitely it seems and finally error out with OOM
because in this loop we are continuously allocating memory for the
tuple in temp context but since we are never coming out of the loop it
is erroring out with OOM.

My first idea is that this is the case when index tuple doesn't fit into one index page. As INCLUDED columns are added as is the tuple can not be made shorter by prefix-stripping. Seems we should check every index tuple length to fit the page before its insertion.

Thanks for looking into this.

Will see the code little bit later.

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

pgsql-hackers by date:

Previous
From: Julien Rouhaud
Date:
Subject: Re: compute_query_id and pg_stat_statements
Next
From: Pavel Borisov
Date:
Subject: Re: OOM in spgist insert