[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