-
Notifications
You must be signed in to change notification settings - Fork 436
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
fix: Fixed expiring of goals if events executor is used #2674
Conversation
I don't think creating a new thread per |
@mauropasse Note, this is a backport to jazzy. The timer interface is not exposed, therefore there is no way to register a timer at the executor without breaking ABI/API. |
This pull request has been mentioned on ROS Discourse. There might be relevant details there: https://discourse.ros.org/t/next-client-library-wg-meeting-friday-22nd-november-2024/40703/1 |
@jmachowinski just checking that this is jazzy of #2699 (rolling) to keep the ABI/API, right? |
@fujitatomoya yes, this is the jazzy version, as the rolling version was merged, I'll try to polish it within the next days... |
@jmachowinski sounds great! ping me whenever it is ready, happy to review. (trading reviews 👍 ) |
6ea3c59
to
f51a729
Compare
@fujitatomoya ready for review. Note, this builds up on top of the code from #2691 |
f51a729
to
7f2ad63
Compare
7f2ad63
to
805700c
Compare
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.
@jmachowinski thanks overall, lgtm. minor comments only.
Added two new synchronization primitives to perform waits using an rclcpp::Clock. Signed-off-by: Janosch Machowinski <[email protected]>
805700c
to
8596a33
Compare
Pulls: #2674 |
This commit is only relevant if the events executor is used. This commit starts a background thread, to create events for the expire timer of the action. Without this the action server will not expire old goal results leading to memory and performance issues. Signed-off-by: Janosch Machowinski <[email protected]>
8596a33
to
2de6ce4
Compare
Pulls: #2674 |
This commit is only relevant if the events executor is used.
This commit adds a background thread, to create events for the expire timer of the action.
Without this the action server will not expire old goal results leading to memory and performance issues.
For now, this commit is a draft. There is still a (minor) issue, that the clock used in the background
thread does not work correct in the use_sim_time case (it still runs on system time).
This is an alternative to #2661
In contrast to #2661, it reuses the rcl internal timer and therefore existing code to recompute the
expire times.
@alsora @mauropasse @mjcarroll thoughts ?