Problems with Infinispan as 2nd Level Hibernate Cache
infinispanuser Dec 11, 2017 8:19 AMIn a clustered environment with 4 nodes we use Infinispan as 2nd Level Hibernate Cache. We use Infinispan 8.2.5 and JGroups 3.6.7.
When there is much work load on one of the servers we already often got problems with the Infinispan cluster that suspects these node(s) and the nodes will never come back to the cluster.
Even the one clustered that was suspected and kicked out of the cluster forms his own cluster after some time which is never what we expected the behavior to be. Also replication fails with an replication timeout each time a node tries to replicate themself.
Another problem that we saw was that this also seems to lead to inconsistency between the infinispan cluster nodes and still it is not clear to us if there is anything else that will lead to problems in such a scenario.
What we saw and got were different cache entries on the different nodes, which is a big problem that is not acceptable in our case.
In the forum we already found this post https://developer.jboss.org/message/822198#822198 . It is still unanswered so does this mean that Infinispan is not able to be used as Hibernate 2nd Level Cache in a clustered environment?
Attached you will find our Infinispan configuration which is nearly the same as delivered with the official hibernate-infinispan jar (hibernate-infinispan-5.2.5.Final.jar\org\hibernate\cache\infinispan\builder\infinispan-configs.xml)
And also you can find our jGroups configuration file which also is nearly a copy of what is suggested by Infinispan in the core library (infinispan-core-8.2.5.Final.jar\default-configs\default-jgroups-tcp.xml)
It has to be mentioned that we are not able to use multicast in our environment, which is why suggested to use tcpping instead of mping in our stack.
Our main question is if there is anything wrong with our configuration and why does the default configuration example from Infinispan differ so much from the default tcp configuration suggested and delivered by jgroups (jgroups\jgroups-3.6.7.Final.jar\tcp.xml)
It seems that in the default Infinispan JGroups configuration file there is no state transfer protocol on top of the stack. Why is such a protocol missing in the stack which is available in the default tcp stack of jgroups?
Is it possible to use the default tcp stack from jgroups as delivered in their library or does this not work with the Hibernate-Infinispan implementation?
I hope someone can help us further with our questions so that we can still use Infinispan in our project(s)?
-
project_jgroups_conf.xml.zip 940 bytes