Re: [HACKERS] Memory not freed at WARN
On October 27, 1997 I wrote:
Hi,
while playing around with PL/Tcl I encountered a general
memory allocation problem. Every transaction abort via
elog(WARN, ...) leaves some allocated memory laying around.Just do some "select * from non_existing_table;" and you'll
see the backend growing.One place where this happens is tcop. The querytree isn't
freed on the restart. But there must be other places too
since I've hacked out that one and the backend is still
growing.This all didn't matter until we have triggers and constraints
now. One normal action of a trigger or constraint is to fire
a transaction abort. Thus, a really long running database
backend can grow and grow.Please add this to TODO as I don't have the time right now to
dive into.
Never got onto the TODO :-(
It still happens. Seems like approx 1K isn't freed per elog(ERROR).
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#======================================== jwieck@debis.com (Jan Wieck) #
Import Notes
Reply to msg id not found: m0xPr7N-000BGZC@orion.SAPserv.Hamburg.dsh.de
This all didn't matter until we have triggers and constraints
now. One normal action of a trigger or constraint is to fire
a transaction abort. Thus, a really long running database
backend can grow and grow.Please add this to TODO as I don't have the time right now to
dive into.Never got onto the TODO :-(
It still happens. Seems like approx 1K isn't freed per elog(ERROR).
Added:
* elog() does not free all its memory(Jan)
--
Bruce Momjian | 830 Blythe Avenue
maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026
+ If your life is a hard drive, | (610) 353-9879(w)
+ Christ can be your backup. | (610) 853-3000(h)