-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] Transient local messages not cached for multiple publishers #333
Comments
I did try to reproduce your issue, but I well get 2 messages when running
For bridge on Host 1, I see such logs:
Meaning the bridge discovered the 1st Publisher on By design the bridge creates only 1 route per topic, with an associated PublicationCache for TRANSIENT_LOCAL support. When a remote bridge discovers a Subscriber, it will query historical publications from this cache. Note: writing this I realized that the The last line is the discovery of the 2nd Publisher for which the same route and PublicationCache is used. For bridge on Host 2, I see such logs:
Meaning the bridge well gets 2 messages (92 bytes each) on topic Could you please check if you get the same logs and behaviour ? Note that if your system on Host 1 has more that 10 Publishers on |
With two hosts everything works fine. But with 3 Hosts it's not working on my side as mentioned in #219. My usecase:
All the hosts are connected via wifi.
|
Describe the bug
On a local ROS 2 setup, when subscribing to a topic with transient local durability, a node receives the cached message from every
transient local
publisher on the topic. When subscribing to the same topic over the zenoh bridge (version 1.0.2), only the latest message on the topic is published.This causes problem for example when a node publishes a static transform on
/tf_static
, which then makes the static transforms published earlier by the robot state publisher unavailable.To reproduce
transient local
durability, such asros2 run tf2_ros static_transform_publisher --frame-id map --child-frame-id a
andros2 run tf2_ros static_transform_publisher --frame-id map --child-frame-id b
ros2 topic echo /tf_static
System info
Ubuntu 22.04 in docker on both hosts, using zenoh-bridge-ros2dds standalone executable version 1.0.2 installed in binary form from the private deb repository
The text was updated successfully, but these errors were encountered: