Skip to content

Warning about history depth of 0 even while using system default QoS #341

@bijoua29

Description

@bijoua29

Bug report

Required Info:

  • Operating System: Ubuntu 22.04
  • Installation type: docker image from binaries
  • DDS implementation: CycloneDDS
  • Client library (if applicable): rclcpp

Steps to reproduce issue

pub_ = this->create_publisher<geometry_msgs::msg::Pose>("/pose", rclcpp::SystemDefaultsQoS());

Expected behavior

No QoS warning

Actual behavior

[node-7] [WARN] [1673487873.053699528] [rclcpp]: A zero depth with KEEP_LAST doesn't make sense; no data could be stored.This will be interpreted as SYSTEM_DEFAULT

Additional information

This warning was recently added. I would expect that if I use rclcpp::SystemDefaultsQoS() that I would not see any warning or error for QoS. I realize that the depth was probably always set to zero for the default and it was corrected by the rmw to 1 and only now the warning has been posted. But regardless, the expectation for a user is that the system default QoS would not generate a warning.

Secondarily, the warning itself is not very useful when my application has several publishers and subscriptions. It's probably not practical given the architecture of the code but I would find the warning message a lot more useful if the topic name was included.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions