I'm putting over 10 million 50k+ records a day into a clustered remote cache server using the JDBC disk cache backed by MySQL and it uses almost no memory. I'm also getting 6 million items from this cache a day, using lateral distribution for hundreds of thousands of puts, and using the indexed disk cache with dozens of regions of over 20k items. I have no memory problems. I run multiple tomcat instances on the same boxes that are home to collections of similar services. For our service tier, I have over a dozen machines running 6+ tomcat servers each with 1 war per tomcat and 3-5 services per war. My applications have to be very memory efficient. JCS makes it possible. I've detected no memory problems whatsoever with the cache.
Cheers, Aaron --- Alistair Forbes <[EMAIL PROTECTED]> wrote: > Hi, > > The problem seems to come from restarting the client > - (clients with local > caches connecting to remote RMI server.) > > Restarting the remote cache solves the problem. > > And the good news: I tried many tests (local and > remote caches), and I was > unable to find any memory leak. > > Cheers > Al > > On 5/30/06, Aaron Smuts <[EMAIL PROTECTED]> wrote: > > > > By the way, the server does not need access to the > > classes. The remote client serializes the objects > > before sending them. It sends a byte array over > to > > the server. As far as the server knows, the > payload > > is a byte array. > > > > I'll fix that log message and try to replicate > your > > problem. > > > > Aaron > > > > > > > > --- Alistair Forbes <[EMAIL PROTECTED]> > wrote: > > > > > With the latest source from svn I get the > following > > > exception from the > > > RemoteCacheServer: The server does have access > to > > > the same classpath as the > > > application. The object is serializable as I can > > > read and write the > > > serialized object to disk. Any hints > appreciated. > > > > > > > > > 09:47:56,414 ERROR [IndexedDiskCache] Failure > > > getting from disk, cacheName: > > > ruleCache, key = 34800JR2OS12 > > > java.lang.ClassCastException: > > > org.apache.jcs.engine.CacheElementSerialized > > > at > > > > > > org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCache.readElement( > > > IndexedDiskCache.java:526) > > > at > > > > > > org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCache.doGet( > > > IndexedDiskCache.java:484) > > > at > > > > org.apache.jcs.auxiliary.disk.AbstractDiskCache.get( > > > AbstractDiskCache.java:298) > > > at > > > > org.apache.jcs.engine.control.CompositeCache.get( > > > CompositeCache.java:488) > > > at > > > > org.apache.jcs.engine.control.CompositeCache.get( > > > CompositeCache.java:391) > > > at > > > > > > org.apache.jcs.auxiliary.remote.server.RemoteCacheServer.get( > > > RemoteCacheServer.java:546) > > > at > > > > sun.reflect.GeneratedMethodAccessor7.invoke(Unknown > > > Source) > > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke( > > > DelegatingMethodAccessorImpl.java:25) > > > at > > > java.lang.reflect.Method.invoke(Method.java:585) > > > at > > > > > > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java > > > :294) > > > at > > > > > > sun.rmi.transport.Transport$1.run(Transport.java:153) > > > at > > > > java.security.AccessController.doPrivileged(Native > > > Method) > > > at > > > > > > sun.rmi.transport.Transport.serviceCall(Transport.java:149) > > > at > > > > sun.rmi.transport.tcp.TCPTransport.handleMessages( > > > TCPTransport.java:460) > > > at > > > > > > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run( > > > TCPTransport.java:701) > > > at java.lang.Thread.run(Thread.java:595) > > > > > > > > > > > > On 5/30/06, Alistair Forbes > > > <[EMAIL PROTECTED]> wrote: > > > > > > > > It took sometime to get back to this. I am > using > > > the latest version: > > > > > > > > Manifest-Version: 1.0 > > > > Ant-Version: Apache Ant 1.5.3 > > > > Created-By: Apache Maven > > > > Built-By: SG0894751 > > > > Package: org.apache.jcs > > > > Build-Jdk: 1.3.1_16 > > > > Extension-Name: jcs > > > > Specification-Title: Cache > > > > Specification-Vendor: Apache Software > Foundation > > > > Implementation-Title: org.apache.jcs > > > > Implementation-Vendor: Apache Software > Foundation > > > > Implementation-Version: 1.2.7.3 > > > > > > > > The message logged is identical for both the > > > IOException and the > > > > Exception, which makes it difficult to see > what > > > causes the exception. > > > > > > > > 90% of the time I only get the text without > the > > > stack trace, which makes > > > > me think this is from two different > exceptions. > > > This only seems to happen > > > > when using a remote cache - and I suspect the > > > problem is triggered by a > > > > restart of a client cache, but I am not 100% > sure > > > yet. > > > > > > > > "01:25:51,735 ERROR [IndexedDiskCache] Failure > > > getting from disk, > > > > cacheName: testCache, key = KEY23145 > > > > java.lang.ClassCastException" > > > > > > > > Maybe you could change the exception so that I > can > > > see which exception is > > > > triggered. > > > > > > > > Index: > > > > > > org/apache/jcs/auxiliary/disk/indexed/IndexedDiskCache.java > > > > > > > > > > =================================================================== > > > > --- > > > > > > org/apache/jcs/auxiliary/disk/indexed/IndexedDiskCache.java > > > (revision > > > > 410163) > > > > +++ > > > > > > org/apache/jcs/auxiliary/disk/indexed/IndexedDiskCache.java > > > (working > > > > copy) > > > > @@ -490,7 +490,7 @@ > > > > > > > > } > > > > catch ( IOException ioe ) > > > > { > > > > - log.error( "Failure getting from > > > disk, cacheName: " + > > > > cacheName + ", key = " + key, ioe ); > > > > + log.error( "IO Failure getting > from > > > disk, cacheName: " + > > > > cacheName + ", key = " + key, ioe ); > === message truncated === --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]