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]