Re: OOM in spgist insert

From: Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>
To: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: OOM in spgist insert
Date: 2021-05-12 08:13:25
Message-ID: CALT9ZEE7OiszofHELnjPhX=hV92PiKn8haSZ4_FWBAw4diaRdQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

ср, 12 мая 2021 г. в 11:09, Dilip Kumar <dilipbalaut(at)gmail(dot)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 <http://www.postgrespro.com>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Julien Rouhaud 2021-05-12 08:14:45 Re: compute_query_id and pg_stat_statements
Previous Message Julien Rouhaud 2021-05-12 08:01:04 Re: Feedback on table expansion hook (including patch)