Thanks to all who replied. I got side tracked by other issues and when I returned to this one I found that some services worked consistently and one (cas-managment version 6.1.x) was problematic. So it turns out that hazelcast was working. Thanks for the clarification on distributed vs replicated. I had not made the distinction. Warm regards, -- Erik Mallory Server Analyst Wichita State University
On Thu, 2021-07-08 at 09:53 -0400, Mark H. Wood wrote: > On Wed, Jul 07, 2021 at 02:49:32PM -1000, Baron Fujimoto wrote: > > I'm also confused by this. What does distributed mean, if not > > replicated? > > I understand "replicated" to mean that each associated instance > contains the complete set of cache entries locally. There would be a > great deal of communication required to maintain consistency, but the > cost of cache queries is small. > > Another form of distribution is variously called "sharded,", > "partitioned," etc. Associated instances would hold subsets of the > complete cache content, and their association would mean that one > instance can ask the others if any have hits where it has a miss, and > to supply one. This isn't as fast as having a complete set in each > instance, but it reduces the communication load on insertion. It may > be appropriate where the cost of acquiring an uncached object is > sufficiently higher than the cost of asking for help from another > subset and awaiting a reply. > > If the cost of uncached objects is quite high, it can also make sense > to run multiple cache instances atop a shared backing store, which > has > its own cost. > > > On Mon, Jul 5, 2021 at 7:42 AM Ray Bon <[email protected]> wrote: > > > > > Erik, > > > > > > Hazelcast is not a replicated cache by default, just distributed. > > > I > > > understand there is a backup/restore system but you would need at > > > least > > > three servers to test it. > > > > > > The only config I have are these: > > > cluster.members > > > cluster.instanceName > > > crypto.signing.key > > > crypto.encryption.key > > > crypto.enabled=true > > > > > > which is in a shared file. > > > > > > I have two cas'es running on my local and have not seen that > > > error. You > > > can tell if the hazelcast servers are communicating if your > > > tickets are > > > validated on a different server than they were created. Set the > > > load > > > balancer to round robin. > > > > > > I do not see a cas property for replication. Is it an option for > > > cas? See > > > hazelcast docs, > > > https://docs.hazelcast.com/imdg/4.1/data-structures/replicated-map.html > > > > > > Ray > > > > > > On Thu, 2021-07-01 at 19:41 +0000, 'Mallory, Erik' via CAS > > > Community wrote: > > > > > > Notice: This message was sent from outside the University of > > > Victoria email system. Please be cautious with links and > > > sensitive information. > > > > > > > > > > > > All I'm having a problem implementing the Hazelcast ticket store > > > in CAS > > > > > > 6.3.4 which uses hazelcast-4.1 > > > > > > > > > Currently I'm testing with a two node cluster fontended with a > > > > > > netscaler. Each node has it's own /etc/cas/config/cas.properties > > > so > > > > > > each node as it's own hazelcast configuration. > > > > > > Here is the relevant hazelcast configuration parameters: > > > > > > cas.ticket.registry.hazelcast.page-size=500 > > > > > > cas.ticket.registry.hazelcast.cluster.tcpip-enabled=true > > > > > > cas.ticket.registry.hazelcast.cluster.map-merge- > > > policy=PUT_IF_ABSENT > > > > > > cas.ticket.registry.hazelcast.cluster.instance-name=cas-dev > > > > > > cas.ticket.registry.hazelcast.cluster.members=10.0.79.38,10.0.79 > > > .37 > > > > > > cas.ticket.registry.hazelcast.cluster.eviction-policy=LRU > > > > > > cas.ticket.registry.hazelcast.cluster.max-no-heartbeat- > > > seconds=300 > > > > > > cas.ticket.registry.hazelcast.cluster.logging-type=slf4j > > > > > > cas.ticket.registry.hazelcast.cluster.port=5701 > > > > > > cas.ticket.registry.hazelcast.cluster.max-size=85 > > > > > > cas.ticket.registry.hazelcast.cluster.backup-count=1 > > > > > > cas.ticket.registry.hazelcast.cluster.async-backup-count=0 > > > > > > cas.ticket.registry.hazelcast.cluster.max-size- > > > > > > policy=USED_HEAP_PERCENTAGE > > > > > > cas.ticket.registry.hazelcast.cluster.timeout=5 > > > > > > > > > IN my testing I found that the tickets were not being replicated > > > the > > > > > > other host. I'd use the netscaler to switch between the backend > > > CAS > > > > > > nodes, log in to one, fail over to the other node and attempt to > > > access > > > > > > cas, and I was redirected to the login screen. > > > > > > > > > After restarting the cas services on both nodes and tailing out > > > the cas > > > > > > log I noticed the following error: > > > > > > > > > Cannot add a dynamic configuration > > > > > > > > > 'MapConfig{name='serviceTicketsCache', inMemoryFormat=BINARY', > > > > > > metadataPolicy=CREATE_ON_ > > > > > > UPDATE, backupCount=1, asyncBackupCount=0, timeToLiveSeconds=0, > > > > > > maxIdleSeconds=500, readBackupData=false, evictionConfig=Evict > > > > > > ionConfig{size=85, maxSizePolicy=USED_HEAP_PERCENTAGE, > > > > > > evictionPolicy=LRU, comparatorClassName=null, comparator=null}, > > > merkleT > > > > > > ree=MerkleTreeConfig{enabled=false, depth=10}, > > > > > > eventJournal=EventJournalConfig{enabled=false, capacity=10000, > > > > > > timeToLiveSecond > > > > > > s=0}, hotRestart=HotRestartConfig{enabled=false, fsync=false}, > > > > > > nearCacheConfig=null, mapStoreConfig=MapStoreConfig{enabled=fal > > > > > > se, className='null', factoryClassName='null', > > > writeDelaySeconds=0, > > > > > > writeBatchSize=1, implementation=null, > > > factoryImplementation=null, > > > > > > properties={}, initialLoadMode=LAZY, writeCoalescing=true}, > > > > > > mergePolicyConfig=MergePolicyConfig{policy='com.hazelcast.spi.mer > > > ge.Lat > > > > > > estUpdateMergePolicy', batchSize=100}, wanReplicationRef=null, > > > > > > entryListenerConfigs=null, indexConfigs=null, > > > attributeConfigs=null, > > > > > > splitBrainProtectionName=null, queryCacheConfigs=null, > > > > > > cacheDeserializedValues=INDEX_ONLY}' > > > > > > > > > as there is already a conflicting configuration > > > > > > > > > 'MapConfig{name='serviceTicketsCache', inMemoryFormat=BINARY', > > > > > > metadataPolicy=CREATE_ON_UPDATE, backupCount=1, > > > asyncBackupCount=0, > > > > > > timeToLiveSeconds=0, maxIdleSeconds=10, readBackupData=false, > > > > > > evictionConfig=EvictionConfig{size=85, > > > > > > maxSizePolicy=USED_HEAP_PERCENTAGE, evictionPolicy=LRU, > > > > > > comparatorClassName=null, comparator=null}, > > > > > > merkleTree=MerkleTreeConfig{enabled=false, depth=10}, > > > > > > eventJournal=EventJournalConfig{enabled=false, capacity=10000, > > > > > > timeToLiveSeconds=0}, hotRestart=HotRestartConfig{enabled=false, > > > > > > fsync=false}, nearCacheConfig=null, > > > > > > mapStoreConfig=MapStoreConfig{enabled=false, className='null', > > > > > > factoryClassName='null', writeDelaySeconds=0, writeBatchSize=1, > > > > > > implementation=null, factoryImplementation=null, properties={}, > > > > > > initialLoadMode=LAZY, writeCoalescing=true}, > > > > > > mergePolicyConfig=MergePolicyConfig{policy='com.hazelcast.spi.mer > > > ge.Lat > > > > > > estUpdateMergePolicy', batchSize=100}, wanReplicationRef=null, > > > > > > entryListenerConfigs=null, indexConfigs=null, > > > attributeConfigs=null, > > > > > > splitBrainProtectionName=null, queryCacheConfigs=null, > > > > > > cacheDeserializedValues=INDEX_ONLY}'> > > > > > > > > > So off to google I go and I find > > > > > > https://github.com/hazelcast/hazelcast/issues/12222 > > > > > > > > > and I add -Dhazelcast.dynamicconfig.ignore.conflicts=true for > > > giggles > > > > > > and to see something at least boot. > > > > > > > > > So now both services start up but I'm ignoring the dynamic config > > > > > > conflicts. My testing fails it would appear that hazelcast is not > > > able > > > > > > to share the tgt between nodes. > > > > > > > > > Any help would be greatly appreciated. > > > > > > > > > > > > -- > > > > > > Erik Mallory > > > > > > Server Analyst > > > > > > Wichita State University > > > > > > > > > -- > > > > > > - Website: > > > > > > https://apereo.github.io/cas > > > > > > > > > - Gitter Chatroom: > > > > > > https://gitter.im/apereo/cas > > > > > > > > > - List Guidelines: > > > > > > https://goo.gl/1VRrw7 > > > > > > > > > - Contributions: > > > > > > https://goo.gl/mh7qDG > > > > > > > > > --- > > > > > > You received this message because you are subscribed to the > > > Google Groups "CAS Community" group. > > > > > > To unsubscribe from this group and stop receiving emails from it, > > > send an email to > > > > > > [email protected] > > > > > > . > > > > > > To view this discussion on the web visit > > > > > > https://groups.google.com/a/apereo.org/d/msgid/cas-user/eb34bc51bfd8f5db71a2b000f1b362491c243cbd.camel%40wichita.edu > > > > > > . > > > > > > -- > > > - Website: https://apereo.github.io/cas > > > - Gitter Chatroom: https://gitter.im/apereo/cas > > > - List Guidelines: https://goo.gl/1VRrw7 > > > - Contributions: https://goo.gl/mh7qDG > > > --- > > > You received this message because you are subscribed to the > > > Google Groups > > > "CAS Community" group. > > > To unsubscribe from this group and stop receiving emails from it, > > > send an > > > email to [email protected]. > > > To view this discussion on the web visit > > > https://groups.google.com/a/apereo.org/d/msgid/cas-user/7f06f02da2b65ccfeb8f8bb1868ffd23eac32ef1.camel%40uvic.ca > > > < > > > https://groups.google.com/a/apereo.org/d/msgid/cas-user/7f06f02da2b65ccfeb8f8bb1868ffd23eac32ef1.camel%40uvic.ca?utm_medium=email&utm_source=footer > > > > > > > . > > > > > > > -- > > Baron Fujimoto <[email protected]> :: UH Information Technology > > Services > > minutas cantorum, minutas balorum, minutas carboratum desendus > > pantorum > > > > -- > > - Website: https://apereo.github.io/cas > > - Gitter Chatroom: https://gitter.im/apereo/cas > > - List Guidelines: https://goo.gl/1VRrw7 > > - Contributions: https://goo.gl/mh7qDG > > --- > > You received this message because you are subscribed to the Google > > Groups "CAS Community" group. > > To unsubscribe from this group and stop receiving emails from it, > > send an email to [email protected]. > > To view this discussion on the web visit > > https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAAjLUL3oSJ9Ho%3Dij4sFdr6E8%2BShxYRLf8oieSLgJEd-YZLiU8A%40mail.gmail.com > > . > > -- > Mark H. Wood > Lead Technology Analyst > > University Library > Indiana University - Purdue University Indianapolis > 755 W. Michigan Street > Indianapolis, IN 46202 > 317-274-0749 > www.ulib.iupui.edu > -- - Website: https://apereo.github.io/cas - Gitter Chatroom: https://gitter.im/apereo/cas - List Guidelines: https://goo.gl/1VRrw7 - Contributions: https://goo.gl/mh7qDG --- You received this message because you are subscribed to the Google Groups "CAS Community" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/ca069fffb75fb1f4f0f36ee2264300633d8f6068.camel%40wichita.edu.
