-
Notifications
You must be signed in to change notification settings - Fork 433
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
SystemDefaultsQoS - force to have depth > 0 for Publishers #2705
Comments
@SteveMacenski thanks for detailed description, that really helped. i believe this is a bug for the intra-process publisher, #2707 should fix this. |
I'll openly admit the use of I will say that in your test, I see it with
If you see that fail without your change and pass with it, then it fixes the issue case I see 😄 |
Feature request
Feature description
For SystemDefaultsQoS to work out of the box for IPC, it needs to always strictly have a depth setting > 0. When used in a subscription out of the box, this works fine. For example:
However, when used in a publisher, it fails. For example:
or
with the error
Thus, I feel that we should update the default for SystemDefaultsQoS for publishers (or in general) to be
1
if not already> 1
so that folks migrating or implementing IPC don't run into a cacophony of issues, one for each publisher. I understand this comes from the RMW/DDS, but it seems to me this needs to be updated sinceSystemDefaultsQoS
is a key "default" QoS profile. Having that simply not work for a core ROS 2 feature seems intrinsically problematic :-) It was a bit subtle for me to identify this, so fixing this for everyone else in the future would be ideal.For now, I'm creating a new
nav2_util::DefaultPublisherQoS()
to resolve this on my end, but I believe it should be fixed inrclcpp
/ below for the general user caseThe text was updated successfully, but these errors were encountered: