Re: OOM in spgist insert

Поиск
Список
Период
Сортировка
От Pavel Borisov
Тема Re: OOM in spgist insert
Дата
Msg-id CALT9ZEHj7nrBQwxwi_6xsd9t87qYDb6uRBA_g51N5+CvW2yriw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: OOM in spgist insert  (Dilip Kumar <dilipbalaut@gmail.com>)
Ответы Re: OOM in spgist insert  (Pavel Borisov <pashkin.elfe@gmail.com>)
Список pgsql-hackers
ср, 12 мая 2021 г. в 12:36, Dilip Kumar <dilipbalaut@gmail.com>:
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
PFA v1 patch. Does this help?


--
Best regards,
Pavel Borisov

Postgres Professional: http://postgrespro.com
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Dilip Kumar
Дата:
Сообщение: Re: OOM in spgist insert
Следующее
От: Pavel Borisov
Дата:
Сообщение: Re: OOM in spgist insert