[ 
https://issues.apache.org/jira/browse/JCS-52?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aaron Smuts closed JCS-52.
--------------------------

    Resolution: Invalid

This isn't a bug.  There isn't enough information in the report to think that 
the problem is with JCS and not your application or your server configuration.  
What were your tomcat heap size settings?  How many objects are you putting in 
the cache?  How big are the objects?  Perhaps you simply exceeded the JVM heap 
size because you configured it too low.  Just because you used the disk cache 
doesn't mean that the remote server doesn't have to process the data and that 
the disk cache doesn't have the objects in memory before it can write them to 
disk.  There is not enough info int he report.  This kind of thing is better 
sent to the mailing list.

> remote diskcache, out of memory and lost objects using remoting 
> ----------------------------------------------------------------
>
>                 Key: JCS-52
>                 URL: https://issues.apache.org/jira/browse/JCS-52
>             Project: JCS
>          Issue Type: Question
>          Components: RMI Remote Cache
>    Affects Versions: jcs-1.3
>         Environment: java6, xp, tomcat6 
>            Reporter: Manfred Quasten
>            Assignee: Aaron Smuts
>            Priority: Blocker
>             Fix For: jcs-1.3
>
>
> I try to put  and get  objects from a remote cache, that is running on 
> Tomcat.  I use index_disk_cache on the server.  The communication between 
> client and server works. In case of large objects or a large number of 
> objects I get a java.lang.OutOfMemoryError 
> Exception in thread "CacheEventQueue.QProcessor-myRegion1" 
> java.lang.OutOfMemoryError: Java heap space
>       at sun.reflect.ByteVectorImpl.trim(ByteVectorImpl.java:52)
>       at 
> sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:370)
>       at 
> sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:95)
>       at 
> sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:313)
>       at 
> java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1327)
>       at java.io.ObjectStreamClass.access$1500(ObjectStreamClass.java:52)
>       at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:437)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:413)
>       at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)
>       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
>       at 
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>       at 
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>       at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>       at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)
>       at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
>       at 
> org.apache.jcs.auxiliary.remote.server.RemoteCacheServer_Stub.update(Unknown 
> Source)
>       at 
> org.apache.jcs.auxiliary.remote.RemoteCache.update(RemoteCache.java:210)
>       at org.apache.jcs.engine.CacheAdaptor.handlePut(CacheAdaptor.java:91)
>       at 
> org.apache.jcs.engine.CacheEventQueue$PutEvent.doRun(CacheEventQueue.java:688)
>       at 
> org.apache.jcs.engine.CacheEventQueue$AbstractCacheEvent.run(CacheEventQueue.java:607)
>       at 
> org.apache.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:575)
> My configurations are: 
> 1) client:
> jcs.auxiliary.RFailover=org.apache.jcs.auxiliary.remote.RemoteCacheFactory
> jcs.auxiliary.RFailover.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheAttributes
> jcs.auxiliary.RFailover.attributes.FailoverServers=pchl:1102
> jcs.auxiliary.RC.attributes.RemoveUponRemotePut=true
> jcs.auxiliary.RFailover.attributes.GetOnly=false
> jcs.auxiliary.RFailover.attributes.MaxObjects=100
> jcs.region.myRegion1=RFailover
> #jcs.region.myRegion1=RFailover
> #jcs.region.myRegion1.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> #jcs.region.myRegion1.cacheattributes.MaxObjects=100
> #jcs.region.myRegion1.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> Server:
> # Remote RMI Cache set up to failover
> jcs.auxiliary.RFailover=org.apache.jcs.auxiliary.remote.RemoteCacheFactory
> jcs.auxiliary.RFailover.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheAttributes
> jcs.auxiliary.RC.attributes.RemoveUponRemotePut=true
> jcs.auxiliary.RFailover.attributes.GetOnly=false
> # this didn't help, the memory error occurs with and without
> #jcs.region.testCache1=DC,RFailover
> #jcs.region.testCache1.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> #jcs.region.testCache1.cacheattributes.MaxObjects=1000
> #jcs.region.testCache1.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> # Registry used to register and provide the
> # IRemoteCacheService service.
> registry.host=localhost
> registry.port=1102
> # call back port to local caches.
> remote.cache.service.port=1102
> # cluster setting
> remote.cluster.LocalClusterConsistency=true
> remote.cluster.AllowClusterGet=true
> ##############################################################
> ##### Default Region Configuration
> jcs.default=DC
> jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> jcs.default.cacheattributes.MaxObjects=100
> jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> jcs.default.cacheattributes.UseMemoryShrinker=false
> jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
> ##############################################################
> ##### CACHE REGIONS
> jcs.region.myRegion1=DC
> jcs.region.myRegion1.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> jcs.region.myRegion1.cacheattributes.MaxObjects=-1
> jcs.region.myRegion1.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> #jcs.region.myRegion1.cacheattributes.DiskUsagePattern=SWAP
> ##############################################################
> ##### AUXILIARY CACHES
> # Indexed Disk Cache
> jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
> jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
> ###jcs.auxiliary.DC.attributes.DiskPath=O:\\liantis/JCS/dump
> jcs.auxiliary.DC.attributes.DiskPath=dump
> jcs.auxiliary.DC.attributes.MaxPurgatorySize=100
> jcs.auxiliary.DC.attributes.MaxKeySize=-1
> jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=300000
> jcs.auxiliary.DC.attributes.OptimizeOnShutdown=true
> jcs.auxiliary.DC.attributes.MaxRecycleBinSize=7500
> jcs.auxiliary.DC.attributes.EventQueueType=POOLED
> jcs.auxiliary.DC.attributes.EventQueuePoolName=disk_cache_event_queue
> # Disk Cache pool
> thread_pool.disk_cache_event_queue.boundarySize=50
> thread_pool.disk_cache_event_queue.useBoundary=true
> thread_pool.disk_cache_event_queue.maximumPoolSize=15
> thread_pool.disk_cache_event_queue.minimumPoolSize=1
> thread_pool.disk_cache_event_queue.keepAliveTime=3500
> thread_pool.disk_cache_event_queue.startUpSize=1
> pchl is the server on that Tomcat is running. 
> In case of smal objects I have the problem, that I will  lose  objects again. 
> I've configured the queue and the threadpool at the server,  but it seams, 
> that there is something too, that I've forgotten... 
> I'll work with a absolute minimum on java heapsize,  that is the reson to use 
> a cache in our case.
> The problems will occur with and without the outcommented lines in the 
> clientconfiguration 
> The reason for the questions during the last days are , that we evaluate 
> caching architectures and performance using jcs ...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to