Filip Hanik wrote:
Ok, I think I nailed it.
There is a memory leak in Tomcat 5. I downloaded a trial of JProbe (they
should provide free licenses for open source! :)

There is a class called o.a.coyote.RequestGroupInfo.java, in that class
there is a method called addRequestProcessor.

This method stores a reference to a RequestInfo object in an ArrayList, the
RequestInfo object has a reference to a Request object and that eventually
holds the reference to a MessageBytes/ByteChunk.

The nr of instances of ByteChunk and CharChunk keep growing and they never
get garbage collected.
To validate my thoughts, I commented out the line

public void addRequestProcessor( RequestInfo rp ) {
    //processor.add( rp );
}

in RequestGroupInfo.java and now the instance count for ByteChunk stay
constant.

I have a feeling that the actual solution is a little bit deeper down, right
now I am eager on getting the clustering to perform the way I want, so if
someone wants to take this on be my guest and let me know. If I don't hear
from anyone, I will commit a solution to this next week.

-1. There is no memory leak with this.
ByteChunks/CharChunks are always reused. If new ones are created, they will be reused.


Rémy


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to