Re: BUG #18396: Assert in gistFindCorrectParent() fails on inserting large tuples into gist index

Alexander Lakhin <exclusion@gmail.com>

From: Alexander Lakhin <exclusion@gmail.com>
To: Heikki Linnakangas <hlinnaka@iki.fi>, Tender Wang <tndrwang@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2024-03-20T05:00:00Z
Lists: pgsql-bugs
Hello Heikki and Tender Wang,

19.03.2024 17:26, Heikki Linnakangas wrote:
> On 19/03/2024 14:07, Tender Wang wrote:
>> Thanks for your report. I can reproduce this issue.
>> I try to delete the Assert, no coredump anymore.
>> I need some time to learn GiST to find the root cause.
>
> If you're interested to work on this, Tender, maybe you can figure that out?
>

Thank you for looking at this!

I'm also bothered by errors "no empty local buffer available" produced
(on master, but not on REL_12_STABLE) when inserting larger tuples:
INSERT INTO t SELECT '' FROM generate_series(1, 500) g;
INSERT INTO t SELECT
  (SELECT string_agg('text' || g, ' ') FROM generate_series(1, 700) g)
  FROM generate_series(1, 30);

Are those errors expected?

Best regards,
Alexander



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Relax assertion in finding correct GiST parent

  2. Fix another bug in parent page splitting during GiST index build.