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 ); > > reset(); > > } > > catch ( Exception e ) > > > > > > > > > > On 4/27/06, Aaron Smuts <[EMAIL PROTECTED]> wrote: > > > > > > Sorry if I missed it, but what version are you > using. > > > > > > > > > --- Alistair Forbes <[EMAIL PROTECTED]> > wrote: > > > > > > > Here's the full stack trace from the remote > server: > > > > > > > > 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:495) > > > > at > > > > > org.apache.jcs.engine.control.CompositeCache.get( > > > > CompositeCache.java:398) > > > > at > > > > > > > > org.apache.jcs.auxiliary.remote.server.RemoteCacheServer.get( > > > > RemoteCacheServer.java:554) > > > > at > > > > sun.reflect.GeneratedMethodAccessor5.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) > === message truncated === --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]