You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Increase the default queue size for these load time critical services (loadNode_srv_, unloadNode_srv_) to a large number like 1000?
I think we should try this to start with, though I'm going to suggest we start a bit more conservatively. The current queue size is 10, so I think if we bumped it to 100 or 200 to start with, that should be more than enough. If you'd like to open a PR doing that, I'd be happy to review it.
Bug report
Required Info:
Ubuntu 22.04
humble
CycloneDDS
rclcpp_components
Steps to reproduce issue
composition_overload.py
.source /opt/ros/humble/setup.bash
ros2 launch composition_overload.py
ros2 component list
Expected behavior
To see all talkers loaded into the container (30 for this case):
Actual behavior
About 2/3 is loaded.
Additional information
@VRichardJP has found out that
rclcpp/rclcpp_components/src/component_manager.cpp
Lines 40 to 42 in 0f331f9
Simultaneous calls fill up the QoS queue of the
loadNode_srv_
service, which has 10 queue size by default.Related issue:
Potential solutions
Solution A
Increase the default queue size for these load time critical services (
loadNode_srv_, unloadNode_srv_
) to a large number like 1000?Pros:
Cons:
Solution B
Parameterize the queue size for
loadNode_srv_, unloadNode_srv_
.Pros:
Cons:
We are open to any other solutions, ideas and additional design considerations while implementing this to
rolling
.cc. @mitsudome-r @isamu-takagi @wep21 @esteve
The text was updated successfully, but these errors were encountered: