0

I'm trying to setup a simple distributed cache across three VMs using Infinispan 8.2. And I'm having trouble getting the data to spread across the different VMs. If I start multiple servers on the same VM using the <server></server> tag in the host.xml file, the data is distributed between them. However if I only start one server per VM, the data never gets pushed to the other VMs.

Cache is defined as follows in the domain.xml on server 1:

<distributed-cache name="myCache" owners="3" segments="60" mode="SYNC" remote-timeout="30000" start="EAGER" statistics="true">
    <locking striping="false" acquire-timeout="30000" concurrency-level="1000"/>
    <transaction mode="NONE"/>
    <eviction strategy="LRU" type="MEMORY" size="10000000000"/>
</distributed-cache>

Server 2 and 3 are configured through their host-slave.xml and connect to server 1 just fine.

I can see all nodes in the web Server Management Console when looking at the cache, but there seems to be something missing because the data is bound to the VM.

Ideally I'd like to have 2 nodes per VM for a total of 6, withnumOwners=3.

Any idea what could be an issue?

idonaldson
  • 465
  • 1
  • 14
  • 33
  • You need to make sure the VMs can see each other via their connecting networks. And you should adjust the UDP/TCP communications between them. Those details are specified in the JGroups configuration part. – Galder Zamarreño Jan 20 '17 at 12:47
  • That's what I've narrowed it down to as well, however the VMs can see each other. The slave nodes are getting the cache configuration from the domain controller, so the communication is there. Now I'm just looking for an explanation on how JGroups is configured for a domain configuration through xml. – idonaldson Jan 20 '17 at 15:30
  • Slave nodes and domain controller communicate via TCP. Depending on your configuration, slave nodes might be clustering over UDP, so domain/slave communication working is not a guarantee that slaves can cluster together... – Galder Zamarreño Jan 25 '17 at 13:26

0 Answers0