2.2.10. Step 10: Working with DomainParticipant Partitions

Admin Console allows you to visualize and understand how DomainParticipant partitions affect a Connext system’s configuration. Admin Console’s graph views show you which DomainParticipants are not communicating with each other due to mismatched Partitions.

2.2.10.1. Configuring the scenario

First, let’s configure a specific scenario using Admin Console and Shapes Demo. Use domain 0 for all Shapes Demo instances.

  1. Start a new instance of Shapes Demo using Launcher. Go to Controls > Configuration, enter P1 in the Partitions text box, then click Update to confirm the changes. In this instance of Shapes Demo, publish a red square with the default configuration.

    Shapes Demo Participant Partition configuration
  2. Start a second instance of Shapes Demo. As in the previous step, enter P1 in the Partitions text box of the Configuration dialog. Subscribe to squares with the default configuration.

  3. Start a third instance of Shapes Demo and enter P2 in the Partitions text box. Subscribe to squares with the default configuration.

  4. Start a fourth instance of Shapes Demo. In the Partitions text box, enter P*. Subscribe to squares with the default configuration.

    Now you have four instances of Shapes Demo: one Publisher and three Subscribers. We expect the Publisher (the first instance) to send data that will be received by the second instance (with DomainParticipant partition P1) and the fourth instance (with DomainParticipant partition P*).

  5. In Admin Console, make sure Automatically disover and join domains is selected in Preferences, then wait until all the instances of Shapes Demo are discovered.

Information about DomainParticipant partitions is available in multiple panels in Admin Console. The following sections describe each panel where you can review the partitions for a selected Entity.

2.2.10.2. DomainParticipant partitions in Entity Info tab

First, you can see this information in the Entity Info tab when interacting with an element in the graph. We will use Admin Console’s Topic View, but you can use any available view.

In the DDS Logical View, select the Topic Square for Domain 0.

Topic view for squares 1

The Topic View opens in the main view. If you click any Entity in the graph, the Entity Info tab updates with information relevant for the selected Entity.

Tutorial 10 Entity Info tab

As seen in the above image, the DomainParticipant partitions are indicated in the Entity Info tab. The selected Shapes Demo process only has the partition P1. Each item available in the graph, except domains and Topics, will indicate the DomainParticipant partitions to which it is connected when selected.

For example, if we select the host containing all our Shapes Demo processes, the Entity Info panel shows all the DomainParticipant partitions contained by the Host; {empty}, P1, P2, and P*.

Host participant partitions

As shown in the above image, the Entity Info tab for the selected Host displays a Health Status warning message, Reader-only Topic. This is because the third Shapes Demo instance we started is subscribed to the Square Topic in the DomainParticipant partition P2; there is no Publisher in that DomainParticipant partition, causing the indicated Health Status warning.

Note

Information in the Entity Info tab is updated when Admin Console detects changes in the selected Entity. If the DomainParticipant partition of the selected Entity changes, the Entity Info tab updates to display the detected changes.

2.2.10.3. DomainParticipant partitions in DDS QoS View

The second place where DomainParticipant partitions information is available is the DDS QoS View.

This view includes information about the selected Entity. If we select a DataWriter, DataReader, Publisher, Subscriber, or DomainParticipant, the DDS QoS View displays information about the selected Entity.

In the information about the DomainParticipant QoS, we can see the partition property, which includes the DomainParticipant partitions to which the selected entity is connected.

DomainParticipant partitions in the QoS View

2.2.10.4. DomainParticipant partitions in Match Analyses View

The next area that provides information about DomainParticipant partitions is the Match Analyses View, where match analysis is performed when an Entity is selected.

To visualize the match analysis, we will select the only DataWriter in our graph, the Publisher for squares created in the first Shapes Demo process we created.

When we select this DataWriter, the style of the nodes in the graph changes according to the specific match analysis with the selected Entity. In the following image, notice that upon selecting the Publisher, the node for one of the Shapes Demo processes has a different style. This is the Shapes Demo instance that was configured with the P2 DomainParticipant partition. This process is not sharing any DomainParticipant partitions with our selected process.

Topic view with DataWriter selected

This style indicates Entities that the selected Entity cannot communicate with; in this case, the selected Publisher does not share DomainParticipant partitions with the Subscriber that displays in this style.

Note

It is important to note that just because an Entity appears in this specific style does not indicate that there may be an error in the design of the the DDS system. It only indicates that, with the current configuration, the selected Entity will not communicate with the highlighted entity that has this style.

Admin Console’s Match Analysis feature updates all views to reflect any changes detected in the system. So if any DomainParticipant partitions are changed, the Topic, DDS QoS, and Match Analyses views update accordingly.

The Match Analyses View only displays Entities that are relevant to the match analysis.

For example, if we select the DataWriter in the Topic View, one of the three running DataReaders does not appear in the Match Analyses View. The missing DataReader isn’t relevant because its DomainParticipant partition, P2, doesn’t match the DataWriter’s DomainParticipant partition, P1.

Match analysis tab

If you were to change the missing DataReader’s DomainParticipant partition to P1 or P*, it would show up in the Match Analyses View.

2.2.10.5. Filtering data using DomainParticipant partitions

Admin Console allows you to filter the data shown in the different graphs according to the DomainParticipant partitions. To do this, select the Filter graph info tab. Use the filter to choose the DomainParticipant partitions you want to see in the graph.

For example, if P2 is not selected in the filter, the process associated with that DomainParticipant does not appear in the graph, as you can see here:

DomainParticipant partition filtering P2

2.2.10.6. Joining domains with a specific DomainParticipant partition

You can specify DomainParticipant partitions to use when joining to a specific domain. This option allows you to reduce traffic and focus only on specific DomainParticipant partitions.

To join a domain using a specific DomainParticipant partition, go to View > Preferences and select the Administration tab. Select Manually join and leave domains, select domain 0, then click Edit DomainParticipant(s).

Preferences panel for DomainParticipant partitions

In the Edit DomainParticipant settings dialog, you can see the DomainParticipant partitions used for the DomainParticipant that is created by Admin Console to join domain 0.

By default, the partitions {empty} and * are used to match everything.

Default DomainParticipant settings

Select each DomainParticipant partition to which Admin Console is connected ({empty} and *) and remove them by clicking the red X button. Then use the green + plus button to add the DomainParticipant partition P2.

P2 DomainParticipant settings

This change will cause Admin Console to update its DomainParticipant partitions without leaving the domain, since they are mutable. The QoS value will be updated with the new DomainParticipant partitions in all views.

Finally, apply the changes in the Edit DomainParticipant settings dialog. Admin Console changes the partitions used by its own DomainParticipant and it will no longer see DomainParticipants with partition P1.

Topic view with P2 DomainParticipant partition in Admin Console

Finally, to ensure that we can continue with the remaining steps in this tutorial, undo this change in the Preferences dialog and add {empty} and * to the DomainParticipant partitions, using these steps:

  1. Go to View > Preferences > Administration, select Admin Console’s DomainParticipant 0 AdminConsoleDomain::default and click the “Edit DomainParticipant(s)” button.

  2. Remove P2.

  3. Add a new DomainParticipant partition without filling in a name (press the green + button, then OK). Note that the {empty} partition is added.

  4. Add a second DomainParticipant partition named * and click Apply.

2.2.10.7. Subscriptions with DomainParticipant partitions

Finally, let’s Subscribe to a Topic using a DomainParticipant partition. The Subscription feature enables you to visualize data from a selected Topic. Here, we’ll use it to view data from the red square Topic.

First we will create a Publisher of blue squares in the Shapes Demo instance that has DomainParticipant partition P2. (This is the third instance of Shapes Demo, created at the start of this tutorial.)

Note

So far, the Shapes Demo instance using P2 has not received any data, since it does not match with our only Publisher, which uses P1.

After creating this new Publisher, Admin Console’s Topic View for the Square Topic will look something like this:

P2 DomainParticipant settings with publisher

At this point, we have a Publisher for red squares using the DomainParticipant partition P1, and a Publisher for blue squares using the DomainParticipant partition P2.

Now we will create a Subscriber for squares using the DomainParticipant partition P1. This will cause Admin Console to receive only samples for red squares. To do this, right-click the Square Topic in the DDS Logical View and select “Subscribe…” to open the Create Subscription dialog.

Subscription dialog default

Expand the Advanced Settings to see all the options. Click the edit button (pencil icon) to the right of the DomainParticipant Partitions field.

Subscription dialog edit DomainParticipant partitions

In the Edit Partitions dialog, remove the {empty} and * partitions, add P1, then click OK. If prompted to switch to the Data visualization Perspective, select No.

Admin Console is now subscribed to the square Topic, but only receiving data for the red square Topic in the P1 partition. To visualize this data, select the Topic Data tab in the Topic View.

Subscription receiving only red squares

Now we will change the current subscription so its associated DomainParticipant uses partition P2 instead of P1. Then Admin Console will stop receiving red squares and start receiving blue squares. Here are the steps to make this change:

  1. At the top right in the Topic View, select the Subscription Properties icon.

    Edit subscription icon highlighted
  2. In the Subscription Properties dialog, note that only the P1 partition is listed in the DomainParticipant Partitions field. Click the edit button (pencil icon) on the right, remove P1, add P2, then click OK to confirm the changes.

    Change current subscription dialog

    As result of this change, the Topic View displays a new entry for receiving blue squares, and no new red squares are received.

    Squares samples including blue

Note

The Shapes Demo instances used in this step are not needed to complete this tutorial. Before continuing to Step 11, close all running instances of Shapes Demo.