0 Replies Latest reply on May 29, 2013 6:25 AM by Eranga Samararathna

    Responses contains more than 1 not equal elements

    Eranga Samararathna Newbie

      Hi,

       

      I am using Infinispan as L2 cache and I have two application nodes. The L2 cache in two apps are replicated. The two apps are not identical.

      One of my app fill the database using web services while other app run GUI for the database.

       

      The both app do the extensively read and write to the database. After running the app I have seen following error. I do not know which cause this error.

      I wonder why

       

      - My cache instances are not properly replicated each change to other

      - L2 cache got a two reposes

      - L2 responses are not equal

       

      ERROR org.infinispan.interceptors.InvocationContextInterceptor - ISPN000136: Execution error

       

      2013-05-29 06:32:32 ERROR  - Exception while processing event, reason: org.infinispan.loaders.CacheLoaderException: Responses contains more than 1 element and these elements are not equal, so can't decide which one to use:

       

      [SuccessfulResponse{responseValue=TransientCacheValue{maxIdle=100000, lastUsed=1369809152081} TransientCacheValue {value=MarshalledValue{instance=<serialized>, serialized=ByteArray{size=1911, array=0x0301fe0409000000..}, cachedHashCode=1816114786}@57991642}} ,

       

      SuccessfulResponse{responseValue=TransientCacheValue{maxIdle=100000, lastUsed=1369809152116} TransientCacheValue {value=MarshalledValue{instance=<serialized>, serialized=ByteArray{size=1911, array=0x0301fe0409000000..}, cachedHashCode=1816114786}@6cdaa731}} ]

       

      My Infinispan configuration is

       

      <global>

              <globalJmxStatistics enabled="true" jmxDomain="org.infinispan" allowDuplicateDomains="true"/>

              <transport

                      transportClass="org.infinispan.remoting.transport.jgroups.JGroupsTransport"

                      clusterName="infinispan-hibernate-cluster"

                      distributedSyncTimeout="50000"

                      strictPeerToPeer="false">

                  <properties>

                      <property name="configurationFile" value="jgroups.xml"/>

                  </properties>

              </transport>

          </global>

       

          <default>

          </default>

       

          <namedCache name="my-cache-entity">

              <clustering mode="replication">

                  <stateRetrieval fetchInMemoryState="false" timeout="60000"/>

                  <sync replTimeout="20000"/>

              </clustering>

              <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000"

                       lockAcquisitionTimeout="15000" useLockStriping="false"/>

              <eviction maxEntries="10000" strategy="LRU"/>

              <expiration maxIdle="100000" wakeUpInterval="5000"/>

              <lazyDeserialization enabled="true"/>

              <!--<transaction useSynchronization="true"

                           transactionMode="TRANSACTIONAL" autoCommit="false"

                           lockingMode="OPTIMISTIC"/>-->

              <loaders passivation="false" shared="false" preload="false">

                  <loader class="org.infinispan.loaders.cluster.ClusterCacheLoader"

                          fetchPersistentState="false"

                          ignoreModifications="false" purgeOnStartup="false">

                      <properties>

                          <property name="remoteCallTimeout" value="20000"/>

                      </properties>

                  </loader>

              </loaders>

          </namedCache>

       

      Thanks

       

      Regards,

       

      Eranga