-
Notifications
You must be signed in to change notification settings - Fork 519
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
Incompatible subscriber QoS when creating a subscription after a publisher #908
Comments
We are having issues with this as well. In our particular case we are making subscriptions from roslibjs. When the subscription is made from roslibjs before the rosbridge_server process sees the associated publisher, we end up with this QoS mismatch compatibility issue. I haven't begun looking into the technical side at all yet, but conceptually I was thinking along the lines of 2 possible solutions:
Are there any other options that I may be overlooking? I would appreciate any leading guidance that anyone has to offer before we jump right into this. |
Seems there has been a lot of talk about this subject over the past few years, as well as some attempts to fix it. This seems to be a duplicate: |
@JayHerpin I agree with the solutions you have outlined To me, the ideal solution seems like 2, but this comes with significant code changes... |
Description
In our setup multiple nodes publish ti a topic
events
of typestd_msgs/String
, all of them with durabilityVOLATILE
.Using roslibjs we create a topic object:
When calling
The following warning is printed:
This appears to be caused when creating a publisher first and then a subscription, the publisher is always created as transient local and the subscription inherits that property.
rosbridge_suite/rosbridge_library/src/rosbridge_library/internal/publishers.py
Lines 105 to 109 in 77d48c0
rosbridge_suite/rosbridge_library/src/rosbridge_library/internal/subscribers.py
Lines 118 to 122 in 77d48c0
Steps To Reproduce
volatile pub sub
default roslibjs
Then create three terminals and run in the following order:
Expected Behavior
The publisher
QoS
should match the ones of the already existingQoS
for a topic or should be able to be changed via the client. In addition subscriptionQoS
should also be able to be specifiedActual Behavior
A subscriber with incompatible
QoS
is createdThe text was updated successfully, but these errors were encountered: