1 Reply Latest reply on Feb 23, 2015 5:12 AM by Tristan Tarrant

    Distributed caching Infinispan 5 with Modeshape

    Wessel Nieboer Novice

      Hey everyone, I've configured a distributed Infinispan cache in JBoss EAP 6.3.0GA

       

      The configuration looks as follows:

       

      <cache-container name="modeshape" aliases="modeshape modeshape-cluster" default-cache="sample" start="EAGER" module="org.modeshape" statistics-enabled="false">

                      <transport lock-timeout="60000"/>

                      <distributed-cache name="sample" owners="1" mode="SYNC" start="EAGER" statistics-enabled="false">

                          <locking isolation="READ_COMMITTED"/>

                          <transaction mode="NON_XA" locking="PESSIMISTIC"/>

                          <string-keyed-jdbc-store datasource="java:/jdbc/oracle" shared="true" passivation="false" purge="false">

                              <string-keyed-table prefix="ispn_string">

                                  <id-column name="ID_COLUMN" type="VARCHAR2(512)"/>

                                  <data-column name="DATA_COLUMN" type="BLOB"/>

                                  <timestamp-column name="TIMESTAMP_COLUMN" type="NUMBER"/>

                              </string-keyed-table>

                          </string-keyed-jdbc-store>

                      </distributed-cache>

                  </cache-container>

       

      ModeShape is using this cache to store its information in. I've setup two machines with the same configuration and they are clustering properly with JGroups, changes made on one machine are seen on the other and vice versa.

       

      However, when iterating through all nodes in Modeshape (thus retrieving data from Infinispan) on machine A, I would expect all this to be seen by machine B, i.e. Infinispan on machine B will retrieve the information from A, instead of going to the string-keyed-jdbc-store. This is not the case however, when iterating through all nodes on machine B, it takes just as long as it did on A. When I monitor the memory using VisualVM, I see it growing only after iterating through all nodes, and the amount of data loaded is the same on both A and B.

       

      Is this expected behaviour?