[foxy backport] Make service wait for response reader (#390)#412
[foxy backport] Make service wait for response reader (#390)#412jacobperron merged 1 commit intofoxyfrom
Conversation
* Sending response subscriber guid with request. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Server ensures that response reader is matched. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Addressing review. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Linters Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Using unordered_set Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Linters Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Additional checks on rmw_service_server_is_available. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Suggestions on guid_utils Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Added TODO mentioning DDS-RPC. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * linters again. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
ivanpauno
left a comment
There was a problem hiding this comment.
IMO, the breakage is acceptable considering the improvement to service discovery.
I agree.
We should comment the breakage in the release notes, clarifying the it only affects users making use of FastRTPS native handles.
I'm still checking if this change is backports compatible over the wire.
I think we should check the following:
- A client of the new version can make requests to a service of the old version.
- A client of the old version can make requests to a service of the new version.
- Service and clients of the old version are listed correctly by a
ros2clitool of the new version. - Service and clients of the new version are listed correctly by a
ros2clitool of the old version.
That should be enough to confirm wire compatibility.
All of these checks LGTM; I did checks on my local machine and between two hosts over a VPN. |
This is only affecting rmw, so users making use of native handles will NOT be affected, right? |
I think what @ivanpauno meant, is it only affects users making use of the handles in rmw_fastrtps (instead of the generic |
Perfect! |
|
This pull request has been mentioned on ROS Discourse. There might be relevant details there: https://discourse.ros.org/t/new-packages-for-foxy-fitzroy-2020-07-23/15570/2 |
|
This pull request has been mentioned on ROS Discourse. There might be relevant details there: https://discourse.ros.org/t/new-packages-and-patch-release-for-ros-2-foxy-fitzroy-2020-08-07/15818/1 |
Backport #390 to Foxy.
Note, this breaks ABI compatibility, but only below the RMW layer. IMO, the breakage is acceptable considering the improvement to service discovery.
I'm still checking if this change is backports compatible over the wire.