RMI Remote cache update events not getting propagated to JCS clients on Solaris. --------------------------------------------------------------------------------
Key: JCS-93 URL: https://issues.apache.org/jira/browse/JCS-93 Project: Commons JCS Issue Type: Bug Components: RMI Remote Cache Affects Versions: jcs-1.3 Environment: OS: Solaris 10 Application Server: Weblogic 9.2 Reporter: Brajesh Chhotan We have implemented JCS RMI Remote cache to build a Primary(JCS Remote Cache Server- 1) and another Failover (JCS Remote Cache Server-2) cache servers to be used by our enterprise Web application deployed on Weblogic cluster of 8 instances. We have JCS RMI client running on the application instances and they need to keep a local copy of the cached object in memory on the local JVM instances. The Remote cache gets some updates in the caches objects, ideally it has to propagate the update event to the local caches which are registered the listener for Remote cache. This is not working as expected. What we have seen is, the events are getting propagated between Primary(JCS Remote Cache Server- 1) and another Failover (JCS Remote Cache Server-2), but the same is not getting propagated to the other RMI JCS clients running on the Weblogic cluster. Which is causing the local cached copy of the cahced objects on clients remain stale and do not get updated when remote cache gets updated. Below is the .ccf files for Primary(JCS Remote Cache Server- 1), Failover (JCS Remote Cache Server-2) and one of the remote client JCS- Primary(JCS Remote Cache Server- 1) cache.ccf ########################### # Registry used to register and provide the IRemoteCacheService service ########################### registry.host=myserver4.com registry.port=1104 remote.cache.service.port=1104 remote.cluster.LocalClusterConsistency=true remote.cluster.AllowClusterGet=false ########################### Default Region Configuration ########################### jcs.default=indexedDiskCache,failOverCache jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache jcs.default.cacheattributes.MaxObjects=5000000 jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.ShrinkerIntervalSeconds=5 jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=15 #jcs.default.cacheattributes.MaxSpoolPerRun=25 jcs.default.cacheattributes.DiskUsagePatternName=SWAP ########################### Indexed Disk Cache ########################### jcs.auxiliary.indexedDiskCache=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory jcs.auxiliary.indexedDiskCache.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes jcs.auxiliary.indexedDiskCache.attributes.DiskPath=/sites/dummy/site/common/tmp/mycache/primary jcs.auxiliary.indexedDiskCache.attributes.MaxPurgatorySize=-1 jcs.auxiliary.indexedDiskCache.attributes.MaxKeySize=500000 jcs.auxiliary.indexedDiskCache.attributes.MaxRecycleBinSize=50000 jcs.auxiliary.indexedDiskCache.attributes.OptimizeAtRemoveCount=300000 jcs.auxiliary.indexedDiskCache.attributes.EventQueueType=POOLED jcs.auxiliary.indexedDiskCache.attributes.EventQueuePoolName=commonThreadPool jcs.auxiliary.indexedDiskCache.attributes.OptimizeOnShutdown=true ########################### AUXILIARY CLUSTERD CACHES FOR CLUSTER ########################### jcs.auxiliary.failOverCache=org.apache.jcs.auxiliary.remote.RemoteCacheFactory jcs.auxiliary.failOverCache.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheAttributes jcs.auxiliary.failOverCache.attributes.RemoteTypeName=CLUSTER jcs.auxiliary.failOverCache.attributes.RemoveUponRemotePut=false jcs.auxiliary.failOverCache.attributes.ClusterServers=myserver03.com:1103 jcs.auxiliary.failOverCache.attributes.EventQueueType=POOLED jcs.auxiliary.failOverCache.attributes.ThreadPoolName=commonThreadPool jcs.auxiliary.failOverCache.attributes.GetOnly=false jcs.auxiliary.failOverCache.attributes.GetTimeoutMillis=1800000000 jcs.auxiliary.failOverCache.attributes.RmiSocketFactoryTimeoutMillis=3000000 ########################### DEFAULT THREAD POOL CONFIGURATION ########################### # Default thread pool config thread_pool.default.useBoundary=true thread_pool.default.startUpSize=4 thread_pool.default.minimumPoolSize=4 thread_pool.default.maximumPoolSize=150 thread_pool.default.boundarySize=2000 thread_pool.default.keepAliveTime=350000 thread_pool.default.whenBlockedPolicy=RUN ########################### Disk Cache pool ########################### thread_pool.commonThreadPool.useBoundary=true thread_pool.commonThreadPool.startUpSize=10 thread_pool.commonThreadPool.minimumPoolSize=10 thread_pool.commonThreadPool.maximumPoolSize=200 thread_pool.commonThreadPool.keepAliveTime=350000 thread_pool.commonThreadPool.whenBlockedPolicy=RUN ####################################################################################################################################### ####################################################################################################################################### # Cache Regions ####################################################################################################################################### ####################################################################################################################################### jcs.region.locatorCore=indexedDiskCache,failOverCache jcs.region.locatorCore.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes jcs.region.locatorCore.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache jcs.region.locatorCore.cacheattributes.MaxObjects=100 jcs.region.locatorCore.cacheattributes.UseMemoryShrinker=false jcs.region.locatorCore.cacheattributes.ShrinkerIntervalSeconds=10 jcs.region.locatorCore.cacheattributes.MaxMemoryIdleTimeSeconds=120 #jcs.region.locatorCore.cacheattributes.DiskUsagePatternName=SWAP Failover (JCS Remote Cache Server-2) cache.ccf - ########################### # Registry used to register and provide the IRemoteCacheService service ########################### registry.host=myserver3.com registry.port=1103 remote.cache.service.port=1103 remote.cluster.LocalClusterConsistency=true remote.cluster.AllowClusterGet=false ########################### Default Region Configuration ########################### jcs.default=indexedDiskCache,primaryCache jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache jcs.default.cacheattributes.MaxObjects=5000000 jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.ShrinkerIntervalSeconds=5 jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=15 #jcs.default.cacheattributes.MaxSpoolPerRun=25 jcs.default.cacheattributes.DiskUsagePatternName=SWAP ########################### Indexed Disk Cache ########################### jcs.auxiliary.indexedDiskCache=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory jcs.auxiliary.indexedDiskCache.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes jcs.auxiliary.indexedDiskCache.attributes.DiskPath=/sites/dummy/site/common/tmp/mycache/failover jcs.auxiliary.indexedDiskCache.attributes.MaxPurgatorySize=-1 jcs.auxiliary.indexedDiskCache.attributes.MaxKeySize=500000 jcs.auxiliary.indexedDiskCache.attributes.MaxRecycleBinSize=50000 jcs.auxiliary.indexedDiskCache.attributes.OptimizeAtRemoveCount=300000 jcs.auxiliary.indexedDiskCache.attributes.EventQueueType=POOLED jcs.auxiliary.indexedDiskCache.attributes.EventQueuePoolName=commonThreadPool jcs.auxiliary.indexedDiskCache.attributes.OptimizeOnShutdown=true ########################### AUXILIARY CLUSTERD CACHES FOR CLUSTER ########################### jcs.auxiliary.primaryCache=org.apache.jcs.auxiliary.remote.RemoteCacheFactory jcs.auxiliary.primaryCache.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheAttributes jcs.auxiliary.primaryCache.attributes.RemoteTypeName=CLUSTER jcs.auxiliary.primaryCache.attributes.RemoveUponRemotePut=false jcs.auxiliary.primaryCache.attributes.ClusterServers=myserver4.com:1104 jcs.auxiliary.primaryCache.attributes.EventQueueType=POOLED jcs.auxiliary.primaryCache.attributes.ThreadPoolName=commonThreadPool jcs.auxiliary.primaryCache.attributes.GetOnly=false jcs.auxiliary.primaryCache.attributes.GetTimeoutMillis=1800000000 jcs.auxiliary.primaryCache.attributes.RmiSocketFactoryTimeoutMillis=3000000 ########################### DEFAULT THREAD POOL CONFIGURATION ########################### # Default thread pool config thread_pool.default.useBoundary=true thread_pool.default.startUpSize=4 thread_pool.default.minimumPoolSize=4 thread_pool.default.maximumPoolSize=150 thread_pool.default.boundarySize=2000 thread_pool.default.keepAliveTime=350000 thread_pool.default.whenBlockedPolicy=RUN ########################### Disk Cache pool ########################### thread_pool.commonThreadPool.useBoundary=true thread_pool.commonThreadPool.startUpSize=10 thread_pool.commonThreadPool.minimumPoolSize=10 thread_pool.commonThreadPool.maximumPoolSize=200 thread_pool.commonThreadPool.keepAliveTime=350000 thread_pool.commonThreadPool.whenBlockedPolicy=RUN ####################################################################################################################################### ####################################################################################################################################### # Cache Regions ####################################################################################################################################### ####################################################################################################################################### jcs.region.locatorCore=indexedDiskCache,primaryCache jcs.region.locatorCore.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes jcs.region.locatorCore.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache jcs.region.locatorCore.cacheattributes.MaxObjects=100 jcs.region.locatorCore.cacheattributes.UseMemoryShrinker=false jcs.region.locatorCore.cacheattributes.ShrinkerIntervalSeconds=10 jcs.region.locatorCore.cacheattributes.MaxMemoryIdleTimeSeconds=120 #jcs.region.locatorCore.cacheattributes.DiskUsagePatternName=SWAP JCS RMI Remote cache client cache.ccf - ########################## REMOTE CACHE ######################### jcs.auxiliary.remoteCache=org.apache.jcs.auxiliary.remote.RemoteCacheFactory jcs.auxiliary.remoteCache.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheAttributes jcs.auxiliary.remoteCache.attributes.FailoverServers=myserver3.com:1103,myserver4.com:1104 jcs.auxiliary.remoteCache.attributes.RemoveUponRemotePut=true jcs.auxiliary.remoteCache.attributes.RmiSocketFactoryTimeoutMillis=120000 jcs.auxiliary.remoteCache.attributes.GetOnly=true ############################################################################## ########################## Remote Cache Regions ############################# ############################################################################## ########################### REMOTE CACHE - auxillary Disk cache ########################### jcs.auxiliary.remoteCacheDiskAux=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory jcs.auxiliary.remoteCacheDiskAux.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes jcs.auxiliary.remoteCacheDiskAux.attributes.DiskPath=mycluster_instance001_cache_repos/remote_region jcs.auxiliary.remoteCacheDiskAux.attributes.MaxPurgatorySize=10000 jcs.auxiliary.remoteCacheDiskAux.attributes.MaxKeySize=10000 jcs.auxiliary.remoteCacheDiskAux.attributes.OptimizeAtRemoveCount=300000 jcs.auxiliary.remoteCacheDiskAux.attributes.OptimizeOnShutdown=true jcs.auxiliary.remoteCacheDiskAux.attributes.MaxRecycleBinSize=7500 ########################### CACHE REGION - locatorCore ########################### jcs.region.locatorCore=remoteCache jcs.region.locatorCore.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes jcs.region.locatorCore.cacheattributes.MaxObjects=50 jcs.region.locatorCore.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache jcs.region.locatorCore.cacheattributes.UseMemoryShrinker=true jcs.region.locatorCore.cacheattributes.ShrinkerIntervalSeconds=300 jcs.region.locatorCore.cacheattributes.MaxMemoryIdleTimeSeconds=120 jcs.region.locatorCore.cacheattributes.MaxSpoolPerRun=25 jcs.region.locatorCore.elementattributes.IsEternal=false jcs.region.locatorCore.elementattributes.MaxLifeSeconds=3600 We ran some small tests for a demo/POC on Windows OS and the even updates are recieved from RMI remote JCS cache to the local client. But our deployment OS is Solaris 10 and when we are deploying there , the events are not propagated. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira