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

Flaky services performance #922

Closed
hidmic opened this issue May 20, 2020 · 4 comments
Closed

Flaky services performance #922

hidmic opened this issue May 20, 2020 · 4 comments
Labels
bug

Comments

@hidmic
Copy link
Contributor

hidmic commented May 20, 2020

Bug report

Required Info:

  • Operating System:
    • Windows 10, Ubuntu 20.04, OSX
  • Installation type:
    • Binaries and form source
  • Version or commit hash:
  • DDS implementation:
    • Fast-RTPS most often, but also with CycloneDDS
  • Client library (if applicable):
    • rclcpp

Steps to reproduce issue

Any service / client pair will do, e.g.:

ros2 run demo_nodes_cpp add_two_ints_server

and

ros2 run demo_nodes_cpp add_two_ints_client

Expected behavior

Client sends request, servers gets request then sends response, and client gets response.

Actual behavior

The client will hang some times and not get any result. How often that happens seems to vary on a platform and RMW implementation.

Additional information

Issues with services performance has been observed before, as early as ros2/demos#304. More recent occurrences may be found in ros2/rmw_cyclonedds#185, ros2/system_tests#420 and ros2/rmw_cyclonedds#74. Nondeterministic as it is, it has seemed resolved in the past, suggesting race conditions as root cause.

Parameter servers as well as action servers and clients relying on services for their implementation are also likely to be negatively affected by this issue.

@hidmic hidmic added the bug label May 20, 2020
@hidmic
Copy link
Contributor Author

hidmic commented May 20, 2020

CC @jacobperron

@hidmic hidmic changed the title Unreliable service performance Flaky services performance May 20, 2020
@hidmic
Copy link
Contributor Author

hidmic commented May 20, 2020

@MiguelCompany @richiprosima it'd be great if a fix for rmw_fastrtps_cpp landed before Foxy gets released.

@MiguelCompany
Copy link
Contributor

MiguelCompany commented May 24, 2020

@hidmic I've just created ros2/rmw_fastrtps#390, which should fix the issue of sending a response when the reader has not yet been matched.

@sloretz
Copy link
Contributor

sloretz commented Jun 18, 2020

Closing in favor of ros2/rmw_fastrtps#392 and ros2/rmw_cyclonedds#191 since these appear to be duplicates and the other two are on more specific repos.

@sloretz sloretz closed this as completed Jun 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug
Projects
None yet
Development

No branches or pull requests

3 participants