Skip to content

rcl_action: result_timeout should be started on goal completion #1103

@fujitatomoya

Description

@fujitatomoya

Bug report

Required Info:

  • Operating System:
    • Ubuntu 22.04 (Any)
  • Installation type:
    • Any but Iron and Rolling
  • Version or commit hash:
    • N.A
  • DDS implementation:
    • Any
  • Client library (if applicable):
    • Any (rclcpp, rclpy)

Description

If the user application uses default rcl_action_server_options_t, goal_handle will be considered as expired after 10 seconds.

as described in ros-navigation/navigation2#3765, that is so likely to take more than 10 seconds to set the goal result before expired(10 seconds) once accepted. ros-navigation/navigation2#3765 (comment) analyzes and work-around this issue with setting 30 seconds via rcl_action_server_options_t.result_timeout.

Consideration / Proposal

  • rcl_action : increase the timeout from 10 seconds to 1 minute in default. (15 minutes are too long though.) Reduce result_timeout to 10 seconds. #1012 reduced the timeout into 10 seconds, but thinking about the use case such as Nav2 relies on ROS 2 action, 10 seconds is short in default. (backport required to Iron)
  • rclpy_action : result_timeout default should be set to rcl's default accordingly. (currently this is set to 900 seconds.)

Related Issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions