0 Replies Latest reply on Aug 3, 2016 7:49 PM by Abhishek Abhishek

    HornetQ Static connector based cluster, node is failing to connect cluster.

    Abhishek Abhishek Newbie

      Hi,

       

      I am using static-connector based clustering. My QA team was testing the network failover between active/backup nodes, when they experienced following behavior.

       

      1. Node A started as active node.
      2. Node-B started as backup node (backup announced).
      3. Shutdown network from Node-A (for 60 secs).
      4. Since i have not configured any connection-ttl (default value: 60000) and check-period (default value: 30000), so my assumption is that in case of network failure on active node, it should take approx 90 sec. to failover to backup, for some reason, failover happened within 50 sec in this case, All topics and connection factories were created and registered on Node-B.
      5. after 60 secs, when Node-A network was restored, it was also active, here an Administrative action to reboot Node-A took place.
      6. While shutting down the Node-A, following log strings were printed on Node-B console log.
      7. 2016-08-03 18:11:19,977 WARN  [org.hornetq.core.server] (Thread-13 (HornetQ-server-HornetQServerImpl::serverUUID=null-958166094)) HQ222138: Local Member is not set at on ClusterConnection ClusterConnectionImpl@2144872583[nodeUUID=d473f8eb-5973-11e6-a06d-470aabe607f7, connector=TransportConfiguration(name=netty, factory=org-hornetq-core-remoting-impl-netty-NettyConnectorFactory) ?port=5445&host=10-10-29-49, address=jms, server=HornetQServerImpl::serverUUID=d473f8eb-5973-11e6-a06d-470aabe607f7]
      8. Once Node-A was rebooted, then there was no journal sharing between nodes.
      9. When standalone JMS clients are trying to connect Node-B then following exception is occuring:

      javax.jms.JMSException: Failed to create session factory

        at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:673)

        at org.hornetq.jms.client.HornetQConnectionFactory.createTopicConnection(HornetQConnectionFactory.java:193)

        at org.hornetq.jms.client.HornetQConnectionFactory.createTopicConnection(HornetQConnectionFactory.java:188)

        at com.egain.platform.framework.event.Messenger.getTopicConnection(Messenger.java:1354)

        at com.egain.platform.framework.event.Messenger.access$600(Messenger.java:105)

        at com.egain.platform.framework.event.Messenger$ConnectionExceptionListener.onException(Messenger.java:1760)

        at org.hornetq.jms.client.HornetQConnection$JMSFailureListener$1.run(HornetQConnection.java:775)

        at java.lang.Thread.run(Thread.java:745)

      Caused by: HornetQConnectionTimedOutException[errorType=CONNECTION_TIMEDOUT message=HQ119013: Timed out waiting to receive cluster topology. Group:null]

        at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:946)

        at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:669)

       

       

       

      Can someone please help me in understanding, why Node-B is not connecting to Cluster and if there is a way to fix this?

      I am assuming that exception received by Client is result of Warning message, received on Node-B.