[Zope] SQLSession and Memory leak
Hung Jung Lu
hungjunglu@hotmail.com
Fri, 26 May 2000 12:10:04 PDT
Hi,
This is just for people's information on my own experience in Zope memory
leak. It may not reflect your personal case. But if it does, please post a
note to the mailing list.
When there is a problem, people have to face it. I really dislike the
attitude of people who just shrug their shoulders. I have seen this all too
many times. Everytime I go through a problem and posted in to the mailing
list, there are always people that try to say nonsense and refuse to accept
that there is a problem. Guess what? Weeks later more and more people suffer
similar problems.
By now I am very sure that a huge memory leak is coming from SQLSession.
Remember about one or two months ago I mentioned about memory leak in Zope?
There were so many die-hard Zope mongers that the very first thing they feel
is their pride being hurt, and instead of looking at possible sources of the
problem, their attitude was: it can't be, you must be doing something wrong,
Zope has no memory leak. Now, does that attitude help to find the source of
the problem???! Perl mongers are bad enough, and now we have Zope mongers.
The thing is, no one would complain about memory leak if there is no
performance impact. When someone complains about memory leak, it's because
the performance is getting to be unbearable.
After using SQLSession with two different databases (Gadfly and Sybase), and
after the problem persisted, and after using manage_debug in Control Panel,
I have decided that enough is enough. I implemented my own RAM-based Session
Management.
And it's been about a month now. No more memory leak. Zope memory usage
stayed nice and low. Performance improved substantially to the amazement of
everyone. No more need to re-start Zope to bring the memory down.
There are hundreds of people out there using SQLSession. I know for fact
that someone using SQLSession has actually written a Unix cron job to
restart Zope every night in order to keep the memory usage down. (Of course,
the person does not know the memory leak is coming from SQLSession.)
From the manage_debug screen, it seems that the leak has something to do
with the SQLSession inheriting from Implicit class. I don't remember much
anymore (since I got rid of SQLSession already a while ago.) I just remember
the keyword "Implicit" showing up in the objects in the manage_debug screen.
All I know is that after I stop using SQLSession (mainly with Gadfly, which
was a temporary solution anyway), my problems stopped.
regards,
Hung Jung
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com