Replies: 3 comments 1 reply
-
Hi @llddang, this behavior is caused by the ownership QoS. Setting all the endpoints with Setting all of their ownership QoS as I am moving this question to the support discussion forum as per Fast DDS CONTRIBUTING guidelines. |
Beta Was this translation helpful? Give feedback.
-
Ownership QoS policy affects instances. Thus, the same DataWriter might publish in some instance and being received whereas in other instances is prevented by stronger DataWriters if the ownership is set to |
Beta Was this translation helpful? Give feedback.
-
Thank you for your quick reply. From the explanation, it seems that my understanding of specification is still unclear. I will clearly understand the contents of the specification and check it through the experiment. Best regard |
Beta Was this translation helpful? Give feedback.
-
Is there an already existing issue for this?
Expected behavior
My domain configuration is like this.
One Participant, Topic, Publisher, Subscriber, DataReader, and two DataWriters.
In this state, the reader expects to receive two messages if communication is attempted.
So this is what I though log output.
Current behavior
From log we can see that index 1 and 2 had been send, but reader receive only index 1.
My qos as bellow:
TopicQos tqos = TOPIC_QOS_DEFAULT;
tqos.durability().kind = TRANSIENT_LOCAL_DURABILITY_QOS;
tqos.durability_service().service_cleanup_delay = Duration_t(317782863 * 1e-9);
tqos.durability_service().history_kind = KEEP_ALL_HISTORY_QOS;
tqos.durability_service().history_depth = 1004623649;
tqos.durability_service().max_samples = 1155043293;
tqos.durability_service().max_instances = 4039424;
tqos.durability_service().max_samples_per_instance = 1051145751;
tqos.latency_budget().duration = Duration_t(853141231 * 1e-9);
tqos.reliability().kind = BEST_EFFORT_RELIABILITY_QOS;
tqos.reliability().max_blocking_time = Duration_t(991706505 * 1e-9);
tqos.history().kind = KEEP_LAST_HISTORY_QOS;
tqos.history().depth = 1843769184;
tqos.resource_limits().max_samples = 2134960815;
tqos.resource_limits().max_instances = 1533973938;
tqos.resource_limits().max_samples_per_instance = 1980921081;
tqos.transport_priority().value = 1487440300;
tqos.lifespan().duration = Duration_t(164455410 * 1e-9);
tqos.ownership().kind = SHARED_OWNERSHIP_QOS;
PublisherQos pubqos = PUBLISHER_QOS_DEFAULT;
pubqos.presentation().access_scope = TOPIC_PRESENTATION_QOS;
pubqos.presentation().coherent_access = true;
pubqos.presentation().ordered_access = true;
DataWriterQos wqos1 = DATAWRITER_QOS_DEFAULT;
wqos1.durability().kind = TRANSIENT_LOCAL_DURABILITY_QOS;
wqos1.durability_service().service_cleanup_delay = Duration_t(567311302 * 1e-9);
wqos1.durability_service().history_kind = KEEP_ALL_HISTORY_QOS;
wqos1.durability_service().history_depth = 972947330;
wqos1.durability_service().max_samples = 1744157312;
wqos1.durability_service().max_instances = 301739589;
wqos1.durability_service().max_samples_per_instance = 1011714986;
wqos1.latency_budget().duration = Duration_t(921824426 * 1e-9);
wqos1.reliability().kind = BEST_EFFORT_RELIABILITY_QOS;
wqos1.reliability().max_blocking_time = Duration_t(852261378 * 1e-9);
wqos1.history().kind = KEEP_ALL_HISTORY_QOS;
wqos1.history().depth = 157146035;
wqos1.resource_limits().max_samples = 1933789796;
wqos1.resource_limits().max_instances = 598012395;
wqos1.resource_limits().max_samples_per_instance = 1322252895;
wqos1.transport_priority().value = 1485709160;
wqos1.lifespan().duration = Duration_t(823257944 * 1e-9);
wqos1.ownership().kind = EXCLUSIVE_OWNERSHIP_QOS;
wqos1.ownership_strength().value = 502680922;
DataWriterQos wqos2 = DATAWRITER_QOS_DEFAULT;
wqos2.durability().kind = VOLATILE_DURABILITY_QOS;
wqos2.durability_service().service_cleanup_delay = Duration_t(532849506 * 1e-9);
wqos2.durability_service().history_kind = KEEP_ALL_HISTORY_QOS;
wqos2.durability_service().history_depth = 312845482;
wqos2.durability_service().max_samples = 762842861;
wqos2.durability_service().max_instances = 320602300;
wqos2.durability_service().max_samples_per_instance = 321976501;
wqos2.latency_budget().duration = Duration_t(487440300 * 1e-9);
wqos2.reliability().kind = RELIABLE_RELIABILITY_QOS;
wqos2.reliability().max_blocking_time = Duration_t(510011137 * 1e-9);
wqos2.history().kind = KEEP_ALL_HISTORY_QOS;
wqos2.history().depth = 1193831150;
wqos2.resource_limits().max_samples = 1633341369;
wqos2.resource_limits().max_instances = 414659463;
wqos2.resource_limits().max_samples_per_instance = 1627120252;
wqos2.transport_priority().value = 972947330;
wqos2.lifespan().duration = Duration_t(213303973 * 1e-9);
wqos2.ownership().kind = EXCLUSIVE_OWNERSHIP_QOS;
wqos2.ownership_strength().value = 301739589;
SubscriberQos subqos = SUBSCRIBER_QOS_DEFAULT;
subqos.presentation().access_scope = INSTANCE_PRESENTATION_QOS;
subqos.presentation().coherent_access = true;
subqos.presentation().ordered_access = true;
DataReaderQos rqos = DATAREADER_QOS_DEFAULT;
rqos.durability().kind = VOLATILE_DURABILITY_QOS;
rqos.latency_budget().duration = Duration_t(604916512 * 1e-9);
rqos.reliability().kind = BEST_EFFORT_RELIABILITY_QOS;
rqos.reliability().max_blocking_time = Duration_t(637368419 * 1e-9);
rqos.history().kind = KEEP_LAST_HISTORY_QOS;
rqos.history().depth = 640808567;
rqos.resource_limits().max_samples = 1191646692;
rqos.resource_limits().max_instances = 715291965;
rqos.resource_limits().max_samples_per_instance = 1052517764;
rqos.ownership().kind = EXCLUSIVE_OWNERSHIP_QOS;
rqos.time_based_filter().minimum_separation = Duration_t(441727422 * 1e-9);
rqos.reader_data_lifecycle().autopurge_no_writer_samples_delay = Duration_t(28215143 * 1e-9);
rqos.reader_data_lifecycle().autopurge_disposed_samples_delay = Duration_t(883375490 * 1e-9);
Steps to reproduce
Here is the main.cpp file with qos settings as mentioned above.
Fast DDS version/commit
v2.11.1
Platform/Architecture
Other. Please specify in Additional context section.
Transport layer
Intra-process
Additional context
ubuntu 22.04 amd64
XML configuration file
No response
Relevant log output
Network traffic capture
No response
Beta Was this translation helpful? Give feedback.
All reactions