Entities published via a keyed topic are removed when network interfaces are activated or deactivated

1 post / 0 new
Offline
Last seen: 4 years 6 months ago
Joined: 05/18/2018
Posts: 6
Entities published via a keyed topic are removed when network interfaces are activated or deactivated

Hello,

I have an application/domain participant A that publishes entries via a keyed topic. In the QoS profile a liveliness with a lease duration of 3
seconds is used in order to discover when this application finishes.

A second application/domain participant B reads the published samples. When I activate / deactivate a network interface the instance
states of the samples changes from DDS_ALIVE_INSTANCE_STATE to DDS_NOT_ALIVE_NO_WRITERS_INSTANCE_STATE. This happens even when the
communication is limited to shared memory.

If I add a reader to the domain participant A the samples stay alive within this domain regardless of network interface changes.

This issue can only be observed when multiple publishers are used in application A. If only a few publishers are used the samples stay alive
regardless of network interface changes.

My expectation is that the samples stay available in all other domain participant as long as domain participant A is alive, communication is available, and the samples
are not unpublished. The behavior described above leads to errors within my application. What is the best way to work around this issue?
Are there any QoS profile setting that I missed?

Environment

Arch Linux
RTI connext DDS 6.0.0

Example Program

keyed_data_liveliness_network_changes readWrite ../profile/qos_profile.xml

param1: operation mode
write: Publishes 200 samples (each sample is published via a separate subscriber and writer)
read:  Reads the samples published from an instance that runs in writer mode and outputs changes to the console
readWrite: writes and reads samples. Outputs read samples and changes to the console

param2: path to the QoS profile. The QoS profile is located at profile/qos_profile.xml

Expected behaviour

Published samples stay available for all other domain participant as long as domain participant A is alive, communication is available, and the samples
are not unpublished.

Observed behaviour

Samples are removed from other domain participants when network interface changes occur.