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

From Pavel Borisov
Subject Re: OOM in spgist insert
Date
Msg-id CALT9ZEE7OiszofHELnjPhX=hV92PiKn8haSZ4_FWBAw4diaRdQ@mail.gmail.com
Whole thread Raw
In response to OOM in spgist insert  (Dilip Kumar <dilipbalaut@gmail.com>)
Responses Re: OOM in spgist insert
List pgsql-hackers
ср, 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. Will see the code little bit later.

Thanks for the reporting!

--
Best regards,
Pavel Borisov

Postgres Professional: http://postgrespro.com

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: GetSubscriptionRelations declares too many scan keys
Next
From: Julien Rouhaud
Date:
Subject: Re: compute_query_id and pg_stat_statements