9 Replies Latest reply on Dec 16, 2010 5:26 PM by aengineer

    In Active-Backup mode, existing JMS clients fail to re-connect after failover

    aengineer

      This test was conducted using source from the HQ trunk dated 12.06.2010

       

      Conside the scenario that we have a HQ active-backup configuration. Server1 is active, Server2 is backup. JMS clients use a JNDI provider URL of "jnp://server1:port1,server2:port2"

       

      Consider the following sequence of events:
      a) start active server
      b) start backup server
      c) Start a JMS queue producer and a JMS queue receiver. Both are able to send and receive messages respectively.
      c) kill active server
          - backup server now becomes active

       

      At this point, the JMS clients are unable to reconnect.

       

      The Q consumer is hung, and the Q producer keep throwing this exception:
      2010-12-15 16:59:48,137 ERROR (QueueSendLoop.java:104) - Caught exception #[1]. Message:Timed out waiting for response when sending packet 71
      javax.jms.JMSException: Timed out waiting for response when sending packet 71
          at org.hornetq.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:277)
          at org.hornetq.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:285)
          at org.hornetq.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:140)
          at org.hornetq.jms.client.HornetQMessageProducer.doSend(HornetQMessageProducer.java:451)
          at org.hornetq.jms.client.HornetQMessageProducer.send(HornetQMessageProducer.java:199)
          at com.putnam.jboss.queue.QueueSendLoop.send(QueueSendLoop.java:67)
          at com.putnam.jboss.queue.QueueSendLoop.run(QueueSendLoop.java:91)
          at com.putnam.jboss.queue.QueueSendLoop.main(QueueSendLoop.java:78)
      Caused by: HornetQException[errorCode=3 message=Timed out waiting for response when sending packet 71]
          ... 8 more
         
         
      If I terminate both clients and restart them, they are able to connect and send/receive messages.

       

      My HQ configuration files are attached.