Describe the bug
Zenoh peers have qos incompatibility issue when there are 2 different Ros QoS subscribers. Consider the following situation:
In the ROS2 Code: There is a Reliable Publisher and 1 Reliable and 1 Best Effort Subscriber to the same topic. To our understanding, sometimes (when zenoh discovers the Best Effort Subscriber DDS first rather than the Reliable one) it gives the following error:
New publisher discovered on topic '/bot/firmware/drive_state/front', offering incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY
In the zenoh source we have found a TODO that it says check the qos that is existing for a qos and do not create an incompatible one if you receive a new discovery.
Do you have any ideas if this is related or why this problem might occur?
To reproduce
- Start a subscriber with BEST_EFFORT QoS to topic a.
- Start a subscriber with RELIABLE QoS to topic a.
- Start a publisher with RELIABLE QoS to topic a.
- Error occurs.
System info
Platform: Ubuntu 22.04.2.LTS 64 bit
Processor: AMD® Ryzen 9 5900hx with radeon graphics × 16
Zenoh-bridge-dds version: zenoh bridge for DDS v0.7.2-rc built with rustc 1.70.0 (90c541806 2023-05-31)
Describe the bug
Zenoh peers have qos incompatibility issue when there are 2 different Ros QoS subscribers. Consider the following situation:
In the ROS2 Code: There is a Reliable Publisher and 1 Reliable and 1 Best Effort Subscriber to the same topic. To our understanding, sometimes (when zenoh discovers the Best Effort Subscriber DDS first rather than the Reliable one) it gives the following error:
New publisher discovered on topic '/bot/firmware/drive_state/front', offering incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY
In the zenoh source we have found a TODO that it says check the qos that is existing for a qos and do not create an incompatible one if you receive a new discovery.
Do you have any ideas if this is related or why this problem might occur?
To reproduce
System info
Platform: Ubuntu 22.04.2.LTS 64 bit
Processor: AMD® Ryzen 9 5900hx with radeon graphics × 16
Zenoh-bridge-dds version: zenoh bridge for DDS v0.7.2-rc built with rustc 1.70.0 (90c541806 2023-05-31)