Re: Memory leak in nodeAgg
От | Neil Conway |
---|---|
Тема | Re: Memory leak in nodeAgg |
Дата | |
Msg-id | 1186445615.16321.54.camel@dell.linuxdev.us.dell.com обсуждение исходный текст |
Ответ на | Re: Memory leak in nodeAgg (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Memory leak in nodeAgg
Re: Memory leak in nodeAgg |
Список | pgsql-patches |
On Mon, 2007-08-06 at 18:52 -0400, Tom Lane wrote: > Hmm. Good catch, but I can't help wondering if this is just the tip > of the iceberg. Should *every* MemoryContextReset be > MemoryContextResetAndDeleteChildren? Yeah, the same thought occurred to me. Certainly having the current behavior as the default is error-prone: it's quite easy to leak child contexts on Reset. Perhaps we could redefine Reset to mean ResetAndDeleteChildren, and add another name for the current Reset functionality. ResetAndPreserveChildren, maybe? > If we redefined MemoryContextReset to be the same as > MemoryContextResetAndDeleteChildren, it'd be possible to keep the > headers for child contexts in their parent context, thus easing > traffic in TopMemoryContext, and perhaps saving a few pfree cycles > when resetting the parent The fact that MemoryContextCreate allocates the context header in TopMemoryContext has always made me uneasy, so getting rid of that would be nice. I wonder if there's not at least *one* place that depends on the current Reset behavior, though... > Anyone want to investigate what happens if we make MemoryContextReset > the same as MemoryContextResetAndDeleteChildren? Sure, I'll take a look, but I'll apply the attached patch in the mean time (above cleanup is probably 8.4 material anyway). -Neil
В списке pgsql-patches по дате отправления: