Re: IndexJoin memory problem using spgist and boxes
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Anton Dignös <dignoes@inf.unibz.it>
Cc: Alexander Kuzmenkov <a.kuzmenkov@postgrespro.ru>,
pgsql-hackers@lists.postgresql.org
Date: 2018-03-04T19:46:22Z
Lists: pgsql-hackers
=?UTF-8?Q?Anton_Dign=C3=B6s?= <dignoes@inf.unibz.it> writes: >> Looking at the patch, I see that you changed the lifetime of the temporary >> context from per-tuple to per-index-scan. It is not obvious that this change >> is correct. > The problem before this patch was that the traversalMemoryContext in > this function was set to per-query lifetime. > The memory allocations in the per-query lifetime caused this high > memory consumption. Yeah ... > I changed the temporary context to per-index-scan so that it can also > be used for traversalMemoryContext. But we have also had many complaints about leakage across a single index scan, if it traverses many index entries. I think you're just moving the pain out of one use-case and into another. regards, tom lane
Commits
-
Prevent query-lifespan memory leakage of SP-GiST traversal values.
- 467963c3e9c5 11.0 landed
- d18a88acf2d1 10.4 landed
- 57ef2da434e2 9.6.9 landed