You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Thomas Vandahl (JIRA)" <ji...@apache.org> on 2015/04/06 16:58:12 UTC

[jira] [Resolved] (JCS-93) RMI Remote cache update events not getting propagated to JCS clients on Solaris.

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

Thomas Vandahl resolved JCS-93.
-------------------------------
       Resolution: Incomplete
    Fix Version/s: jcs-2.0-beta-2
         Assignee: Thomas Vandahl

Probably related to JCS-82. No feedback from author.

> 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
>            Assignee: Thomas Vandahl
>              Labels: JCS, cache, event, update
>             Fix For: jcs-2.0-beta-2
>
>
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)