13 Replies Latest reply on Jun 26, 2008 8:01 AM by timfox

    auto discovery via multicasting problem

    bfach

      Hello,

      I am trying to determine what is causing this following issue. I have 2 VM's running with a JBoss running on each. Each of the JBoss's is running clustered with only one node in the partition. In other words I have 2 clusters each with 1 jboss running (More than one in the future but having only one for test right now).

      The situation is that if I send a message via a JMSClient (standalone) to a queue that is deployed, the message is received by both jbosses in both clusters.

      I determined that the JMSClient has auto discovered the other JBoss and is sending to the same queue on the other Jboss as well.

      Attempts at a solution was to edit the cluster-server.xml file in the deploy directory and set disablediscovery to true with no effect.

      Please let me know if you require more information.

      Thanks for the help in advance!

      Brad

        • 1. Re: auto discovery via multicasting problem
          clebert.suconic

           

          I am trying to determine what is causing this following issue. I have 2 VM's running with a JBoss running on each. Each of the JBoss's is running clustered with only one node in the partition. In other words I have 2 clusters each with 1 jboss running (More than one in the future but having only one for test right now).



          Maybe it's just me, but I have no clue on what you are trying to do. Can you explain in a little bit more detail please?


          Also, What JBoss and JBM versions are you using?

          • 2. Re: auto discovery via multicasting problem
            bfach

            I am using jboss-4.2.2.GA with 1.4.0.SP3.

            What I am attempting to do is send a message to one queue on one running jboss while another jboss is running on another cluster partition. This was first done to have no dependency between the two however when a message was sent from a JMSClient to the first jboss server , it is received by both servers.

            For example: queue name of testQueue

            vm-01 ->machine with first jboss (partition name TEST01)
            vm-02 ->machine with second jboss (partition name TEST02)

            This starts up two clusters (each with ONE jboss running for now (more to come but first need to find solution to this problem)).

            When we use our tool to send to the JMS Queue testQueue on md-vm-01,
            md-vm-02 jboss also receives the message.

            Let me know if this is clearer

            Thanks,

            Brad

            • 3. Re: auto discovery via multicasting problem
              clebert.suconic

              Sounds like you need to change the JGroups partition on each partition of your cluster.


              Look at YourDB-persistence-service.xml... there are two properties you can change:

              jboss.messaging.datachannelupdaddres (or jboss.partition.udpGroup)

              and

              jboss.messaging.datachanneludpport

              • 4. Re: auto discovery via multicasting problem
                bfach

                Thanks for your quick reply!

                I should have mentioned that we are passing in the -D property to change the partition name from default to TEST01 and TEST02 for jboss1 and jboss2 respectively.

                Are these two partitions two clusters? We have confirmed that there is 1 node running per cluster however the messages still are seen by both.

                I see the property you are speaking of regarding mcastaddress and port. Does this ALSO need to be changed for each cluster??

                Thanks,

                Brad

                • 5. Re: auto discovery via multicasting problem
                  clebert.suconic

                  I don't see the property jboss.partition.name affecting either the DataChannelConfig or ControlChannelConfig.


                  The only properties I see affecting it are:

                  <attribute name="DataChannelConfig">
                  ...
                  mcast_addr="${jboss.messaging.datachanneludpaddress,jboss.partition.udpGroup:228.6.6.6}"
                  mcast_port="${jboss.messaging.datachanneludpport:45567}"
                  
                  



                  and


                  <attribute name="ControlChannelConfig">
                  ...
                  mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
                  mcast_port="${jboss.messaging.controlchanneludpport:45568}"
                  




                  • 6. Re: auto discovery via multicasting problem
                    clebert.suconic

                    That means.. you need to define those properties in order for a proper cluster isolation.

                    • 7. Re: auto discovery via multicasting problem
                      bfach

                      Thank you again for such a fast reply.

                      I will attempt this.

                      Would these properties be overwritten by passing it in as a -D property?

                      • 8. Re: auto discovery via multicasting problem
                        clebert.suconic

                         

                        Would these properties be overwritten by passing it in as a -D property?


                        Yep.. supposedly yes!

                        • 9. Re: auto discovery via multicasting problem
                          bfach

                          Changing the data and control addresses for mcast worked!! Thanks for all you time! One more question... is it necessary to change both the data and control addresses? Also, i only changed the addresses and left the port the same. Is this standard or is it more usual to see the port number changed and the address left the same?


                          Thanks for the help!

                          • 10. Re: auto discovery via multicasting problem
                            clebert.suconic

                             

                            Is it necessary to change both the data and control addresses?


                            Each isolated cluster should have distinct IPs on both Control and Data channel.

                            Also, i only changed the addresses and left the port the same.


                            yes.. that's fine. Another option would be to change the Ports and keep the IPs the same, but I don't like that option ;-)

                            • 11. Re: auto discovery via multicasting problem
                              bfach

                              Clebert,

                              Thanks for the quick replies! I felt changing the address is more explicit than changing the port numbers.

                              Thanks a lot! I appreciate all your help.

                              • 12. Re: auto discovery via multicasting problem
                                bfach

                                http://wiki.jboss.org/wiki/PromiscuousTraffic


                                The port for data and control need to be changed as well, otherwise on some OS’s you will receive eachothers traffic…

                                • 13. Re: auto discovery via multicasting problem
                                  timfox

                                  Yes, bfach is right, you must *always* change both ports and addresses.