1 Reply Latest reply on Oct 11, 2014 12:03 PM by infiniuser

    Cross-site replication config issue in ISPN 5.2.1

    infiniuser Newbie


      I am trying to setup x-site replication between two existing 5.2.1 clusters which are working fine independently. Following the steps @ http://infinispan.org/docs/5.3.x/user_guide/user_guide.html#_cross_site_replication, updated the config files for one of the nodes in each cluster, but getting the following errors on startup:


      console.log :


      Caused by: java.lang.Exception: site configuration for "dc1" not found in relay2.xml

      at org.jgroups.protocols.relay.RELAY2.init(RELAY2.java:154)

      at org.jgroups.stack.ProtocolStack.initProtocolStack(ProtocolStack.java:857)

      at org.jgroups.stack.ProtocolStack.setup(ProtocolStack.java:469)

      at org.jgroups.JChannel.init(JChannel.java:786)

      at org.jgroups.JChannel.<init>(JChannel.java:162)

      at org.jgroups.JChannel.<init>(JChannel.java:132)

      at org.infinispan.remoting.transport.jgroups.JGroupsTransport.buildChannel(JGroupsTransport.java:366)

      ... 29 more


      and in server log :


      2014-10-07 09:35:16,807 ERROR (InfinispanServer-Main) [org.infinispan.remoting.transport.jgroups.JGroupsTransport] ISPN000085: Error while trying to create a channel using config files: /path/to/conf/jgroups-tcp.xml


      The local site "dc1" is defined in infinispan.xml as

      <site local="dc1"/>


      , and also in relay2.xml as :


      <site name="dc1" id="0">
                      <bridge config="jgroups-relay2.xml" name="global"/>

      The user guide says relay2.xml "defines the sites seen by this cluster "  , and it has entries both dc1 and dc2. It's not clear from the error message which configuration is missing for dc1 and which file actually defines it vs refers to it. Please help.



        • 1. Re: Cross-site replication config issue in ISPN 5.2.1
          infiniuser Newbie

          It seems this was related to the visibility of relay2.xml. Though it was in the same directory as jgroups-tcp.xml ; it's not recognized if defined as :


          "<relay.RELAY2 site="dc1" config="relay2.xml" relay_multicasts="false"/>


          It has to be specified with the full path , like :


          <relay.RELAY2 site="dc1" config="${infinispan.conf.dir}/relay2.xml" relay_multicasts="false"/>

          The error message doesn't indicate this, suggest to make it a FileNotFoundException


          Again, for the jgroups-relay2.xml defined in relay2.xml, in addition to above problem, it won't also do a config substitution - i.e


          <bridge config="jgroups-relay2.xml" name="global"/>



          <bridge config="${infinispan.conf.dir}/jgroups-relay2.xml" name="global"/>


          won't work. In this case, a FileNotFoundException is thrown though.


          The full path must be hardcoded , like


          <bridge config="/path/from/root/to/jgroups-relay2.xml" name="global"/>


          This was for a CentOS environment ; not sure if the same issue exists in other envs,