Skip to content
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

get_publishers_info_by_topic does not return qos depth for publishers with fastDDS #684

Open
eschembor-irobot opened this issue Apr 4, 2023 · 1 comment

Comments

@eschembor-irobot
Copy link

Bug report

Required Info:

  • Operating System:
    • Ubuntu 20.04
  • Installation type:
    • From source
  • Version or commit hash:
    • 5EBF27D810C6AB68EEF7D42937CD421D85E50509AE96883239979A1B3A2F4F82
  • DDS implementation:
    • fastDDS
  • Client library (if applicable):
    • rclcpp

Steps to reproduce issue

Noticed this when using foxglove_bridge. They compute the qos depth to use for a subscriber by summing the qos depths of all publishers on that topic. This is not working with fastDDS as get_publishers_info_by_topic reports a qos depth of 0 for any publisher.

Tracing this through the code, I see the comment here which I think indicates the source of the issue

* Since WriterQos or ReaderQos do not have information about history and depth,

Expected behavior

I would expect get_publishers_info_by_topic to report the actual qos depth of publishers

Actual behavior

get_publishers_info_by_topic reports all publishers as having a qos depth of 0

Additional information

@fujitatomoya
Copy link
Collaborator

technically, with rmw_fastrtps history depth is unknown, we can see this using ros2 topic info -v. rmw_fastrtps does not store the history depth from discovery information, that leads to unknown (zero). (rmw_cyclonedds can get the actual history depth, but rmw_connextdds, which tries to store the data but it is unknown.)

see details ros2/rclpy#849

to address this issue, we need Fast-DDS to get the history depth information via discovery process to store the graph.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants