2 Replies Latest reply on Jul 5, 2012 1:48 PM by ethan.c

    Message Lost in Clustered Topic with Selector?

    ethan.c

      Hi all,

       

      I have a cluster(2.2.5) Env with 2 nodes: node1 and node2. In my case i have to use the request-response mode. Previously i tried to use Queue, but we were facing the "Can't redistribute message with selector"

      problem. So we moved to use Topic to get the response message in the Clustered environment.

       

      We have a clustered topic name "responseTopic" on each node. And we are following below steps to send and get messages:

      1. Create a subscriber and subscribe to "responseTopic" with "Selector"(tried both durablke and nondurable);

      2.Create a producer and send messages to "requestQueue";

      3.My backend listener will process the request message and send the response message to "responseTopic";

      4.Use the subscriber created in step1 to consume the message from ""responseTopic;

       

      If the backend listener and subcriber are pointing to same node, everyhing is working fine.  But if they are pointing to different nodes like listener pointing to the node1 and subscriber pointing to

      node2, there always a few messages getting dropped. One of my test result is like this i sent 1000 messages to the Node2 and listener is on the Node1, 31 messages can't get response back .

      And i found a interesting thing on Bridge destinations from Jconsole:

       

      Attribute Name
      Node1
      Node2
      Bridge Addresssf.mq-cluster1.0e37b331-c498-11e1-beb3-f04da2f5d266sf.mq-cluster1.0e36a228-c498-11e1-8d6b-f04da2f5d266
      MessageCount00
      MessageAdded9691000

       

      The MessageAdded difference is exact lost message number.  Seems like something wrong during the message forwarding between different Nodes.  I can't explain what is happening inside.

       

      Any sugguestion?  

       

      Thanks!