30.3. Test Multicast Using JGroups

Learn how to ensure that the system has correctly configured multicasting within the cluster.

30.3.1. Testing With Different Red Hat JBoss Data Grid Versions

The following table details which Red Hat JBoss Data Grid versions are compatible with this multicast test:

Note

${infinispan.version} corresponds to the version of Infinispan included in the specific release of JBoss Data Grid. This will appear in a x.y.z format, with the major version, minor version, and revision being included.

Table 30.5. Testing with Different JBoss Data Grid Versions

Version Test Case Details
JBoss Data Grid 7.0.0 Available
The location of the test classes depends on the distribution:
  • For library mode, they are inside the infinispan-embedded-${infinispan.version}.Final-redhat-# JAR file
  • For Remote Client-Server mode, they are in the JGroups JAR file in the ${JDG_HOME}/modules/system/layers/base/org/jgroups/main/ directory."
JBoss Data Grid 6.6.0 Available
The location of the test classes depends on the distribution:
  • For library mode, they are inside the infinispan-embedded-${infinispan.version}.Final-redhat-# JAR file
  • For Remote Client-Server mode, they are in the JGroups JAR file in the ${JDG_HOME}/modules/system/layers/base/org/jgroups/main/ directory."
JBoss Data Grid 6.5.1 Available
The location of the test classes depends on the distribution:
  • For library mode, they are inside the infinispan-embedded-${infinispan.version}.Final-redhat-# JAR file
  • For Remote Client-Server mode, they are in the JGroups JAR file in the ${JDG_HOME}/modules/system/layers/base/org/jgroups/main/ directory."
JBoss Data Grid 6.5.0 Available
The location of the test classes depends on the distribution:
  • For library mode, they are inside the infinispan-embedded-${infinispan.version}.Final-redhat-# JAR file
  • For Remote Client-Server mode, they are in the JGroups JAR file in the ${JDG_HOME}/modules/system/layers/base/org/jgroups/main/ directory."
JBoss Data Grid 6.4.0 Available
The location of the test classes depends on the distribution:
  • For library mode, they are inside the infinispan-embedded-${infinispan.version}.Final-redhat-# JAR file
  • For Remote Client-Server mode, they are in the JGroups JAR file in the ${JDG_HOME}/modules/system/layers/base/org/jgroups/main/ directory."
JBoss Data Grid 6.3.0 Available
The location of the test classes depends on the distribution:
  • In Library mode, they are in the JGroups JAR file in the lib directory.
  • In Remote Client-Server mode, they are in the JGroups JAR file in the ${JDG_HOME}/modules/system/layers/base/org/jgroups/main.
JBoss Data Grid 6.2.1 Available
The location of the test classes depends on the distribution:
  • In Library mode, they are in the JGroups JAR file in the lib directory.
  • In Remote Client-Server mode, they are in the JGroups JAR file in the ${JDG_HOME}/modules/system/layers/base/org/jgroups/main
JBoss Data Grid 6.2.0 Available
The location of the test classes depends on the distribution:
  • In Library mode, they are in the JGroups JAR file in the lib directory.
  • In Remote Client-Server mode, they are in the JGroups JAR file in the ${JDG_HOME}/modules/system/layers/base/org/jgroups/main.
JBoss Data Grid 6.1.0 Available
The location of the test classes depends on the distribution:
  • In Library mode, they are in the JGroups JAR file in the lib directory.
  • In Remote Client-Server mode, they are in the JGroups JAR file in the ${JDG_HOME}/modules/org/jgroups/main/ directory.
JBoss Data Grid 6.0.1 Not Available This version of JBoss Data Grid is based on JBoss Enterprise Application Platform 6.0, which does not include the test classes used for this test.
JBoss Data Grid 6.0.0 Not Available This version of JBoss Data Grid is based on JBoss Enterprise Application Server 6.0, which does not include the test classes used for this test.

30.3.2. Testing Multicast Using JGroups

The following procedure details the steps to test multicast using JGroups if you are using Red Hat JBoss Data Grid :
Prerequisites

Ensure that the following prerequisites are met before starting the testing procedure.

  1. Set the bind_addr value to the appropriate IP address for the instance.
  2. For added accuracy, set mcast_addr and port values that are the same as the cluster communication values.
  3. Start two command line terminal windows. Navigate to the location of the JGroups JAR file for one of the two nodes in the first terminal and the same location for the second node in the second terminal.

Procedure 30.1. Test Multicast Using JGroups

  1. Run the Multicast Server on Node One

    Run the following command on the command line terminal for the first node (replace jgroups.jar with the infinispan-embedded.jar for Library mode):
    java -cp jgroups.jar org.jgroups.tests.McastReceiverTest -mcast_addr 230.1.2.3 -port 5555 -bind_addr $YOUR_BIND_ADDRESS
  2. Run the Multicast Server on Node Two

    Run the following command on the command line terminal for the second node (replace jgroups.jar with the infinispan-embedded.jar for Library mode):
    java -cp jgroups.jar org.jgroups.tests.McastSenderTest -mcast_addr  230.1.2.3 -port 5555 -bind_addr $YOUR_BIND_ADDRESS
  3. Transmit Information Packets

    Enter information on instance for node two (the node sending packets) and press enter to send the information.
  4. View Receives Information Packets

    View the information received on the node one instance. The information entered in the previous step should appear here.
  5. Confirm Information Transfer

    Repeat steps 3 and 4 to confirm all transmitted information is received without dropped packets.
  6. Repeat Test for Other Instances

    Repeat steps 1 to 4 for each combination of sender and receiver. Repeating the test identifies other instances that are incorrectly configured.
Result

All information packets transmitted from the sender node must appear on the receiver node. If the sent information does not appear as expected, multicast is incorrectly configured in the operating system or the network.