Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-7756

After failover producer won't block when queue is full

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • EAP_EWP 5.1.2 CR3
    • EAP_EWP 5.1.2 CR2
    • HornetQ
    • None
    • Not Required

      There is issue with producer which does not block when queue is full and block policy is used. This happens only after producer successly failovered to backup. After failover producer continue to send messages to backup but after some time it starts to retry send() of the message like during failover.

      Test scenario:

      1. Start server A and B in collocated topology - servers contain backup for each other
      2. Start producer connected to server A - clients are active for the whole duration of the test
      3. Server A is killed -> clients failover to backup on server B
      4. Wait until all messages are read

      I've attached NetBeans project with jms client which is used in reproducer.

      How to reproduce:

      1. copy following zip from messaging lab and then unzip:
      scp messaging-05:/home/hudson/users-tmp/mnovak/tmp/reproducer.zip .
      (alternative download it from hudson - https://hudson.qa.jboss.com/hudson/view/EAP5/view/HornetQ/job/_hornetq-RHEL4-x86-SunJDK1.6-AIO/ws/reproducer.zip)
      2. start server A in a new console - sh start-server1.sh 127.0.0.1
      3. start server B in a new console - sh start-server2.sh 127.0.0.2
      4. start producer in a new console - sh start_producer.sh 127.0.0.1
      5. start one more producer in a new console - sh start_producer.sh 127.0.0.1
      6. kill server A using - kill -9 ... (jps -m - shows processes)
      7. See that producers failovered to backup and continue to send messages - after some time when queue is full then producers won't block but do retry send():

      Producer for node: messaging-19. Sent message with property count: 15441, messageId:ID:0415f416-2706-11e1-a762-001b217d6d91
      Producer for node: messaging-19. Sent message with property count: 15442, messageId:ID:0417c8d7-2706-11e1-a762-001b217d6d91
      javax.jms.JMSException: Timed out waiting for response when sending packet 71
      at org.hornetq.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:302)
      at org.hornetq.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:287)
      at org.hornetq.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:142)
      at org.hornetq.jms.client.HornetQMessageProducer.doSend(HornetQMessageProducer.java:451)
      at org.hornetq.jms.client.HornetQMessageProducer.send(HornetQMessageProducer.java:199)
      at org.jboss.qa.hornetq.TestProducer.startClient(TestProducer.java:78)
      at org.jboss.qa.hornetq.TestProducer.main(TestProducer.java:36)
      Caused by: HornetQException[errorCode=3 message=Timed out waiting for response when sending packet 71]
      ... 7 more
      Sender RETRY (2) Sent message: 15443
      javax.jms.JMSException: Timed out waiting for response when sending packet 71
      at org.hornetq.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:302)
      at org.hornetq.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:287)
      at org.hornetq.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:142)
      at org.hornetq.jms.client.HornetQMessageProducer.doSend(HornetQMessageProducer.java:451)
      at org.hornetq.jms.client.HornetQMessageProducer.send(HornetQMessageProducer.java:199)
      at org.jboss.qa.hornetq.TestProducer.resendMessage(TestProducer.java:132)
      at org.jboss.qa.hornetq.TestProducer.startClient(TestProducer.java:84)
      at org.jboss.qa.hornetq.TestProducer.main(TestProducer.java:36)
      Caused by: HornetQException[errorCode=3 message=Timed out waiting for response when sending packet 71]
      ... 8 more
      Sender RETRY (3) Sent message: 15443

        1. server_logs.zip
          7.49 MB
        2. jmsClient.zip
          140 kB

              rdickens_jira Russell Dickenson (Inactive)
              mnovak1@redhat.com Miroslav Novak
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: