Two Infinispan clusters formed instead of one, inconsistent data
tromper11 Feb 18, 2014 6:19 AMHi,
There are 6 nodes for a distributed cache using 3 physical boxes:
- nodes1-4 are on physical_boxA
- node5 is on physical_boxB
- node6 is on physical_boxC
All data is persisted by a shared MySQL v5 server.
Problems:
1) After startup we see (using JMX) two clusters instead of one --
- clusterA size=4 and containing nodes1-4
- clusterB size=2 containing node5, node6.
2) Even if we have 2 clusters (instead of one), put operations on clusterA are somehow seen by clusterB, but after remove on clusterA, clusterB still contains the old data;
We're using the following config:
<?xml version="1.0" encoding="UTF-8"?>
<infinispan xmlns="urn:infinispan:config:5.3">
<global>
<globalJmxStatistics enabled="true" allowDuplicateDomains="true"/>
<transport nodeName="Node" clusterName="STORE_TEST">
</transport>
</global>
<namedCache name="LOCKS">
<clustering mode="distribution">
<sync/>
</clustering>
<eviction maxEntries="50000" strategy="LRU"/>
</namedCache>
<namedCache name="DATA">
<clustering mode="distribution">
<sync/>
</clustering>
<eviction maxEntries="999999" strategy="LRU"/>
<loaders passivation="false" shared="true" preload="false">
<loader class="org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore" fetchPersistentState="true" ignoreModifications="false" purgeOnStartup="false">
<properties>
<property name="stringsTableNamePrefix" value="data_res"/>
<property name="idColumnName" value="ind"/>
<property name="idColumnType" value="VARCHAR(255)"/>
<property name="dataColumnName" value="data"/>
<property name="dataColumnType" value="BLOB"/>
<property name="timestampColumnName" value="ver_time_stamp"/>
<property name="timestampColumnType" value="BIGINT"/>
<property name="connectionFactoryClass" value="org.infinispan.loaders.jdbc.connectionfactory.PooledConnectionFactory"/>
<property name="connectionUrl" value="jdbc:mysql://................."/>
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="dropTableOnExit" value="false"/>
<property name="createTableOnStart" value="false"/>
<property name="databaseType" value="MYSQL"/>
</properties>
</loader>
</loaders>
</namedCache>
<namedCache name="CON_DATA">
<clustering mode="distribution">
<sync/>
</clustering>
<eviction maxEntries="999999" strategy="LRU"/>
<loaders passivation="false" shared="true" preload="false">
<loader class="org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore" fetchPersistentState="true" ignoreModifications="false" purgeOnStartup="false">
<properties>
<property name="stringsTableNamePrefix" value="con_data"/>
<property name="idColumnName" value="ind"/>
<property name="idColumnType" value="VARCHAR(255)"/>
<property name="dataColumnName" value="data"/>
<property name="dataColumnType" value="BLOB"/>
<property name="timestampColumnName" value="ver_time_stamp"/>
<property name="timestampColumnType" value="BIGINT"/>
<property name="connectionFactoryClass" value="org.infinispan.loaders.jdbc.connectionfactory.PooledConnectionFactory"/>
<property name="connectionUrl" value="jdbc:mysql:/.............."/>
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="dropTableOnExit" value="false"/>
<property name="createTableOnStart" value="false"/>
<property name="databaseType" value="MYSQL"/>
</properties>
</loader>
</loaders>
</namedCache>
</infinispan>
This drives us crazy, any help'd be greatly appreciated.
Thanks,