3 Replies Latest reply on Jul 13, 2010 8:23 AM by surrizola

    Problem with Reply Response (Producer Consumer)

    surrizola

      Configuration

       

      • 2 nodes in cluster, for our example nodeA and nodeB
      • 1 producer directly connected to nodeA
      • 1 consumer directly connected to nodeB

       

      Test escenario

      1. Producer
        1. Create a connection to nodeA (explicit)
        2. Producer create a TextMessage (replyMessage)
        3. Prodeucer set the replyToQueue property of the message to "exampleResponseQueue"
        4. Producer send a message to a queue "exampleQueue"
        5. Producer create a Consumer on a queue "exampleResponseQueue" and wait for the message
      2. Consumer
        1. Create a connection to nodeB (explicit)
        2. Consumer recive a message from a a queue "exampleQueue"
        3. Consumer Create a Text Message  (responseMessage)
        4. Consumer create a Producer
        5. Consumer send de responseMessage to "exampleResponseQueue"

       

       

      Problem

      Under this scenario we want to simulate synchronic communication using hornetQ infrastructure, first the producer send the message to one queue then wait for the response form another queue.

      Ther problem is when the producer and consumer are in different nodes from the cluster, the replyMessage is  delivered from producer to nodeA to nodeB to consumer.

      But the responsemessage is never delivered from nodeA to nodeB.

      The attachment contains the hornetQ configurations (all the nodes from the clusters have the same configurations except form the host and port). And i also attach the Consumker and Producer, which are evolutions of the hornetq test cases

       

       

      Any Help will be appreciated, thanks in advance !!!

      Regards

      Santiago

        • 1. Re: Problem with Reply Response (Producer Consumer)
          timfox

          What version of HornetQ are you running? (Please make sure it's the latest version)

          • 2. Re: Problem with Reply Response (Producer Consumer)
            surrizola

            Hi tim thanks a lot for your really fast answer !!!

            All ther configuration where tested in 2.0.0 version, that one is the version in production in our customer.

             

            Wer try some diferentes configurations like put the forward-when-no-consumer to  false and we also try to configure load balancing at the client and  server side.

             

            Now we are trying the 2.1.1 version and the problems with the message delivery seems to be fixed... but .. there is allways a but !!!

            We have some problems with the consumer and producer reconect after a node crash.

            Example

            1. Start a cluster with four nodes
            2. Start 4 producer (with dynamic discovery)
            3. Start the test i describe before
            4. In the middle of the test a node Crash (manually shutdown, disconnect the network interface, reboot the machine ... wherever...)
            5. All the consumer connected to the crashed node reconnect to another (implemented wirth Listner for a reconnect)
            6. But no message are delivered to those consumers
              1. Its like the cluster don't recognize the new consumers or the fact that one node of the cluster don't exist anymore

             

            Any suggestion?

            • 3. Re: Problem with Reply Response (Producer Consumer)
              surrizola

              Hi all,

              any suggestion about this issue?

              We are trying to solve it but we have no advance.

              The test plan is:

              1- Start 4 nodes

              2- Start 1 consumer

              3- Start 2 producer

              4- Start the test (send messages and wait for the reply in another queue)

              5- Shutdown one of the node to which one of the consumer is connected to.

              6- The consumer reconnect to another node

              7- No message arrives to the consumer

               

              Any Help?