-
Notifications
You must be signed in to change notification settings - Fork 300
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
Parametrizing service execution timeout #340
Conversation
Signed-off-by: Marco Bassa <marco@robotcloud.eu>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this sounds reasonable for me, just a couple of minor comments.
LGTM pending CI. |
Signed-off-by: Marco Bassa <marco@robotcloud.eu>
Made it Ament-friendly to make CI happy |
Gist: https://gist.github.com/gbiggs/d25e3d7ba7370e48c391d1dcf73b8815 |
CI is failing cz of https://ci.ros2.org/job/ci_linux/15874/console
i am not sure what went wrong, and cannot reproduce this problem either in my local environment. any idea? |
I'm not familiar with this integration process, but having ros1_bridge in the packages to ignore |
Running CI for the ros1_bridge is slightly tricky. We don't support the bridge on anything but Linux, so you don't need to run CI for Windows or macOS. For Linux, the easiest way to run CI with the ros1_bridge is to run the ci_packaging jobs: If you put your .repos file into the parameters there, then it should do the correct thing while trying to build the bridge. |
@clalancette thanks! CI for linux and linux-aarch64: |
Linux CI looks good, but aarch64 is failing with a strange error in a Python module. @clalancette Is it expected that aarch64 will fail for |
No, it should work. But I think we were having some unrelated issues. Here's another run of CI: |
The instability looks to be in |
The linting failures are almost certainly because this PR would need to be rebased onto the latest. That we can ignore for now. This otherwise looks good, so I'm going to go ahead and merge it. Thanks for the contribution. |
* Parametrizing service execution timeout Signed-off-by: Marco Bassa <marco@robotcloud.eu> Signed-off-by: Tommy Persson <tommy.persson@liu.se>
* Parametrizing service execution timeout Signed-off-by: Marco Bassa <marco@robotcloud.eu> Signed-off-by: Tommy Persson <tommy.persson@liu.se>
* Parametrizing service execution timeout Signed-off-by: Marco Bassa <marco@robotcloud.eu> Signed-off-by: Tommy Persson <tommy.persson@liu.se>
* Parametrizing service execution timeout Signed-off-by: Marco Bassa <marco@robotcloud.eu>
By convention, service calls in ROS should have a short execution time. However, since the bridge currently doesn't yet have full support for actions, services are sometimes used where a bit of computation time is needed.
Currently the service call timeout on service_bridge_1_to_2 is hard-coded to 5 seconds for all services. This constrain is not transparent to the user, that needs to take a look at the code to understand what's going on.
The PR adds a new parameter, "service_execution_timeout", that can be set by the user to extend (or reduce) the required timeout for service calls. This was added for both the dynamic_bridge and the parameter_bridge.