3 Replies Latest reply on Jun 27, 2013 12:42 PM by fjans

    Are infinispan caches not shared between protocol endpoints?

    fjans

      Hi all,

       

      I'm currently evaluating Infinispan as a cachestore.

      I have different applications that need to access the cache, some are in Java and some in C/C++.

      Since there is (to my knowledge) currently no C/C++ client API available for Hotrod I'm trying to use the memcached endpoint and libmemcached to access the cache from C++.

       

      My problem is that the cache entries I have inserted e.g. via Hotrod or REST endpoints cannot be found when using the memcached endpoint.

       

      Are the cache entries inserted into seperate namespaces per endpoint or something, or do I have to add some kind of prefix to the cache key when reading it from another end-point?

      Or is it a only a configuration issue?

       

      Environment:

       

      Infinispan version: infinispan-server-5.3.0.CR1

      OS: Linux devhost 2.6.39-400.17.2.el6uek.x86_64 #1 SMP Wed Mar 13 12:31:05 PDT 2013 x86_64 x86_64 x86_64 GNU/Linux

      Java: Java(TM) SE Runtime Environment (build 1.7.0_17-b02)

       

      Starting server as e.g.:

      bin/clustered.sh -Djboss.socket.binding.port-offset=0 -Djboss.node.name=inst1

       

      Bits from my configuration in standalone/configuration/clustered.xml (full version attached):

       

              <subsystem xmlns="urn:infinispan:server:endpoint:5.3">

                  <hotrod-connector socket-binding="hotrod" cache-container="clustered">

                      <topology-state-transfer lazy-retrieval="false" lock-timeout="1000" replication-timeout="5000"/>

                  </hotrod-connector>

                  <memcached-connector socket-binding="memcached" cache-container="clustered"/>

                  <rest-connector virtual-server="default-host" cache-container="clustered" />

                  <websocket-connector socket-binding="websocket" cache-container="clustered"/>

              </subsystem>

       

              <subsystem xmlns="urn:infinispan:server:core:5.2" default-cache-container="clustered">

                  <cache-container name="clustered" default-cache="memcachedCache">

                      <transport executor="infinispan-transport" lock-timeout="60000"/>

                      <distributed-cache name="memcachedCache" mode="SYNC" segments="20" owners="2" remote-timeout="90000" start="EAGER">

                          <state-transfer timeout="600000" enabled="true" chunk-size="10000" await-initial-transfer="true"/>

                          <locking isolation="READ_COMMITTED" acquire-timeout="30000" concurrency-level="1000" striping="false" concurrent-updates="false"/>

                          <transaction mode="NONE"/>

                      </distributed-cache>

                  </cache-container>

                  <cache-container name="security"/>

              </subsystem>

       

      I hope this bit of information is enough as a starting point, if not let me know what else to provide (other config files or the code bits I'm using to test).

       

      Best regards,

       

      Flemming