3 Replies Latest reply on Dec 27, 2008 2:52 AM by kenees

    Problem setting up clustered JBossCache

    mattdz

      Hi everyone. We recently upgraded to JBossCache 3.0.1 and are having some troubles getting the clustered cache working. We're running on multi-homed IP systems with our clustered frontends feeding off the same directory for the web application. Here is the error we're getting:

      n-21} at org.jboss.cache.util.reflect.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:144)
      [14:13:03.989] {resin-21} ... 19 more
      [14:13:03.989] {resin-21} Caused by: org.jboss.cache.CacheException: Unable to connect to JGroups channel
      [14:13:03.989] {resin-21} at org.jboss.cache.RPCManagerImpl.start(RPCManagerImpl.java:207)
      [14:13:03.989] {resin-21} ... 24 more
      [14:13:03.989] {resin-21} Caused by: org.jgroups.ChannelException: failed to start protocol stack
      [14:13:03.989] {resin-21} at org.jgroups.JChannel.startStack(JChannel.java:1555)
      [14:13:03.989] {resin-21} at org.jgroups.JChannel.connect(JChannel.java:365)
      [14:13:03.989] {resin-21} at org.jboss.cache.RPCManagerImpl.start(RPCManagerImpl.java:203)
      [14:13:03.989] {resin-21} ... 24 more
      [14:13:03.989] {resin-21} Caused by: java.lang.Exception: problem creating sockets (bind_addr=viper3/127.0.1.1, mcast_addr=228.10.10.10:45588)
      [14:13:03.989] {resin-21} at org.jgroups.protocols.UDP.start(UDP.java:381)
      [14:13:03.989] {resin-21} at org.jgroups.stack.Configurator.startProtocolStack(Configurator.java:129)
      [14:13:03.989] {resin-21} at org.jgroups.stack.ProtocolStack.startStack(ProtocolStack.java:410)
      [14:13:03.989] {resin-21} at org.jgroups.JChannel.startStack(JChannel.java:1552)
      [14:13:03.989] {resin-21} ... 26 more
      [14:13:03.989] {resin-21} Caused by: java.net.SocketException: bad argument for IP_MULTICAST_IF: address not bound to any interface
      [14:13:03.989] {resin-21} at java.net.PlainDatagramSocketImpl.socketSetOption(Native Method)
      [14:13:03.989] {resin-21} at java.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:299)
      [14:13:03.989] {resin-21} at java.net.MulticastSocket.setInterface(MulticastSocket.java:420)
      [14:13:03.989] {resin-21} at org.jgroups.protocols.UDP.createSockets(UDP.java:519)
      [14:13:03.989] {resin-21} at org.jgrou

      We get this with both the default udp.xml file being used for the JGroups config and the expanded cut and pasted version. In standard local mode, everything seems to work fine. On our dev machines, the udp.xml seems to work fine and picks up the single IP. We really would like the cluster to be listening on the 2nd NIC in the machine only since its on a private network. Any help would be greatly appreciated.

      Thanks,
      Matt