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

Discovery race condition mitigation #174

Merged
merged 14 commits into from
Mar 25, 2025

Conversation

fgallegosalido
Copy link
Collaborator

This yet another attempt at merging a mitigation for the discovery race condition. The first attempt happened in #132. This pull request has the same fix plus a couple of fixes and improvements.

@fgallegosalido
Copy link
Collaborator Author

@fujitatomoya Could you please run the CI for us? I don't have access to ROS 2 CI yet

@fujitatomoya
Copy link
Collaborator

Pulls: #174
Gist: https://gist.githubusercontent.com/fujitatomoya/840e409da057b6367478e772cd5ce83a/raw/d810da54ea2d027299836d08eceb8127dbc18e0e/ros2.repos
BUILD args: --packages-above-and-dependencies rmw_connextdds_common
TEST args: --packages-above rmw_connextdds_common
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15308

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@fgallegosalido
Copy link
Collaborator Author

@fujitatomoya can you run the CI please? Hopefully the changes fix the instabilities.

@fujitatomoya
Copy link
Collaborator

Pulls: #174
Gist: https://gist.githubusercontent.com/fujitatomoya/10d8e9025b39088ef528d3b580f8d732/raw/d810da54ea2d027299836d08eceb8127dbc18e0e/ros2.repos
BUILD args: --packages-above-and-dependencies rmw_connextdds_common
TEST args: --packages-above rmw_connextdds_common
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15372

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@fgallegosalido
Copy link
Collaborator Author

I think the pull request is ready to be merged. @fujitatomoya can you run the CI for us?

Copy link
Collaborator

@lobolanja lobolanja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fgallegosalido, As long as the tests pass, I’m fine with merging this Pull Request.

@fujitatomoya
Copy link
Collaborator

Pulls: #174
Gist: https://gist.githubusercontent.com/fujitatomoya/ff8d937cddf769373fd038f434989f1d/raw/d810da54ea2d027299836d08eceb8127dbc18e0e/ros2.repos
BUILD args: --packages-above-and-dependencies rmw_connextdds_common
TEST args: --packages-above rmw_connextdds_common
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15409

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

Copy link
Collaborator

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these changes aim to enhance the functionality and reliability of the RMW_Connext_Publisher (service server response sender) and RMW_Connext_Subscriber (service client response reader), particularly in managing endpoint relationships and synchronization for the service. IMO, this really makes sense and probably mitigate the racy condition to miss the response message between service server and clients.

just a minor comment that i would like to confirm.

@lobolanja
Copy link
Collaborator

@fujitatomoya

Could you help with another CI validation run? I have updated the branch to the latest rolling state since the last run failed due to a build issue with a package unrelated to rmw_connext.

@fujitatomoya
Copy link
Collaborator

Pulls: #174
Gist: https://gist.githubusercontent.com/fujitatomoya/dd2df341bc96e76e44327ba5ff3383f7/raw/d810da54ea2d027299836d08eceb8127dbc18e0e/ros2.repos
BUILD args: --packages-above-and-dependencies rmw_connextdds_common
TEST args: --packages-above rmw_connextdds_common
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15428

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@lobolanja
Copy link
Collaborator

@fujitatomoya

The Linux-rhel build has failed, but it appears to be unrelated to the changes in this PR. Are we allowed to merge it, or should we look into the issue more deeply?

In any case, I’ve also fixed the uncrustify formatting issues. Do we need to rerun the Linux and Windows builds now?

Lastly, thanks a lot for running the CI for us! Do you know who we should contact to get access to run the builds ourselves in the future?

@fujitatomoya
Copy link
Collaborator

@lobolanja i will restart the CI.

@fujitatomoya
Copy link
Collaborator

Pulls: #174
Gist: https://gist.githubusercontent.com/fujitatomoya/8b2451d6623cf8e4b9eb54091235e6d0/raw/d810da54ea2d027299836d08eceb8127dbc18e0e/ros2.repos
BUILD args: --packages-above-and-dependencies rmw_connextdds_common
TEST args: --packages-above rmw_connextdds_common
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15444

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@fgallegosalido
Copy link
Collaborator Author

@fujitatomoya the Windows build was aborted, but the test issues that affected previous builds seem to be finished as per the Linux build. Are we okay to merge?

@fujitatomoya
Copy link
Collaborator

fujitatomoya commented Mar 24, 2025

@fgallegosalido test was aborted, so not completed. i just started the new CI for windows.

  • Windows Build Status

when this comes green, i believe that it is good to go.

@fgallegosalido
Copy link
Collaborator Author

@fujitatomoya a couple of tests failed in Windows, but they don't seem related to the changes in this pr. Is it okay to merge now?

@fujitatomoya
Copy link
Collaborator

@fujitatomoya fujitatomoya merged commit a08ba6f into rolling Mar 25, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants