Reputation: 1
I have two servers that need to do http session clustering and caching. Each server has serveral nodes that need to share session.But when in process of forming cluster ,it often happens that each server cannot get the other server's correct node names and shows a set of random letters and nums.Just like this:
2019-11-13 00:28:32,973 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] ISPN000094: Received new cluster view: [12dshost10-14444|11] (12) [12dshost10-14444, 12dhost10-27717, b5f9d81c-046d-bbc5-7de0-0fe99cce2e53, ce824896-df27-fef0-5872-857335dd9ce0, aeec4fab-e57d-2e99-3e06-834c998ee897, b857e4c0-abe4-e989-bc4c-2ab05b60dc12, ca6a9e84-c9ca-3fad-lf20-787539477a2f, 12dshost11-28633, 12dshost10-24663, 12dshost10-3048, 12dshost10-14948, 12dshost10-47369]
In this case, "12dshost10" represents local server, which has all node names correct, "12dshost11" represents remote server, and other abnormal nodenames are actually from 12dshost11". I dont know why they become this.
Under the circumstance, this cluster cannot work functionally, when it comes to the process of session caching, these abnormal nodes always throws TimeoutException after a 15 seconds waiting.It seems like it's impossible to communicate with these abnormal nodes. Within this period of time, all my request will also be blocked until Exception throw. I read the tutorial of infinispan, but fail to find a way to make session caching to be asynchronous and also fail to find out why these abnormal nodes appear. Does anyone have such issues?
This is my configuration for infinispan and cache.
<infinispan>
<global>
<transport>
<properties>
<property name="configurationFile" value="cache-web-session-jgroups.xml"/>
<property name="channelLookup" value="com.wjw.aos.cache.impl.infinispan.InfinispanJGroupsChannelLookup"/>
</properties>
</transport>
<globalJmxStatistics
allowDuplicateDomains="true"
enabled="true"
jmxDomain="org.infinispan"
cacheManagerName="SampleCacheManager"/>
</global>
<default>
<clustering mode="replication">
<sync/>
</clustering>
<jmxStatistics enabled="true"/>
</default>
<namedCache name="transactional-type">
<transactional
transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup"
syncRollbackPhase="true"
syncCommitPhase="true"
cacheStopTimeout="30000"
uselPcForAutoCommitTransactions="true"
autoCommit="true"
lockingMode="OPTIMISTIC"
useEagerLocking="true"
useSynchronization="true"
transactionMode="TRANSACTIONAL"
/>
<clustering mode="replication">
<sync/>
</clustering>
</namedCache>
</infinispan>
And configuration for jgroups is as below.
<config xmlns="urn:org:jgroups"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance""
xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/JGroups-3.0.xsd">
<TCP loopback="true"
bind_addr="$(cache.websessions.jgroups.bind.ip)"
bind_port="$(cache.websessions.jgroups.bind.port)"
recv_buf_size="20M"
send_buf_size"640k"
discard_incompatible_packets="true"
max_bundle_size="64K"
max_bundle_timeout="2=300"
timer_type="new"
timer.min_threads="4"
timer.max_threads="10"
timer.keep_alive_time="3000"
timer.queue_max_size="500"
thread_pool.enabled="true"
thread_pool.min_threads="2"
thread_pool.max_threads="30"
thread_pool.keep_alive_time="60000"
thread_pool.queue_enabled="false"
thread_pool.queue_max_size="100"
thread_pool.rejection_policy="discard"
oob_thread_pool.min_threads="2"
oob_thread_pool.max_threads="30"
oob_thread_pool.keep_alive_time="60000"
oob_thread_pool.queue_enabled="false"
oob_thread_pool.queue_max_size="100"
oob_thread_pool.rejection_policy="discard"/>
<TCPGOSSIP initial_hosts="$(cache.websession.jgroups.members)"/>
<MERGE2 max_interval="30000" min_interval="10000"/>
<FD_SOCK/>
<FD timeout=3000" max_tries="3"/>
<VERIFY_SUSPECT timeout="1500"/>
<pbcast.NAKACK
use_mcast_xmit="false"
retransmit_timeout="300,600,1200,2400,4800"
discard_delivered_msgs="false"/>
<UNICAST2 timeout="300,600,1200"
stable_interval="5000"
max_bytes="1m"/>
<pbcast.STABLE stability_delay="500" desired_avg_gossip="5000" max_bytes="1m"/>
<pbcast.GMS print_local_addr="false" join_timeout="3000" view_bundling="true"/>
<UFC max_credits="200k" min_threshold="0.20"/>
<MFC max_credits="200k" min_threshold="0.20"/>
<FRAG2 frag_size="60000"/>
<RSVP timeout="60000" resend_interval="500" ack_on_delivery="false"/>
</config>
Upvotes: 0
Views: 139
Reputation: 1504
That looks like a really ancient version of Infinispan. Can't you consider an upgrade ?
Upvotes: 0