Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[21245] Fix topic interference on liveliness_changed status (backport #4988) (backport #5032) #5045

Merged
merged 1 commit into from
Aug 19, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jul 9, 2024

Description

PR #4822 (and its backports) introduced a regression that was not detected until we requested ROS 2 rolling to use branch 2.14.x here

This PR:

  1. Adds infrastructure to create Blackbox tests that simulate the behavior of ROS 2 node
  2. Adds a ROS2 black-box test trying to mimick the test that regressed
  3. Add a standard black-box regression test for the issue discovered
  4. Fixes the issue

@Mergifyio backport 2.14.x 2.13.x 2.10.x 2.6.x

Contributor Checklist

  • Commit messages follow the project guidelines.

  • The code follows the style guidelines of this project.

  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally

  • Any new/modified methods have been properly documented using Doxygen.

  • N/A Any new configuration API has an equivalent XML API (with the corresponding XSD extension)

  • Changes are backport compatible: they do NOT break ABI nor change library core behavior.

  • Changes are API compatible.

  • N/A New feature has been added to the versions.md file (if applicable).

  • N/A New feature has been documented/Current behavior is correctly described in the documentation.

  • Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

This is an automatic backport of pull request #4988 done by [Mergify](https://mergify.com).
This is an automatic backport of pull request #5032 done by [Mergify](https://mergify.com).

Copy link
Contributor Author

mergify bot commented Jul 9, 2024

Cherry-pick of 4a6b934 has failed:

On branch mergify/bp/2.10.x/pr-5032
Your branch is up to date with 'origin/2.10.x'.

You are currently cherry-picking commit 4a6b93479.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   src/cpp/rtps/builtin/liveliness/WLP.cpp
	modified:   src/cpp/rtps/reader/StatefulReader.cpp
	modified:   test/blackbox/common/BlackboxTestsLivelinessQos.cpp
	new file:   test/blackbox/common/DDSBlackboxTestsROS2.cpp
	new file:   test/blackbox/common/ros2/Context.hpp
	new file:   test/blackbox/common/ros2/DataReaderHolder.hpp
	new file:   test/blackbox/common/ros2/DataWriterHolder.hpp
	new file:   test/blackbox/common/ros2/GenericHolder.hpp
	new file:   test/blackbox/common/ros2/Node.hpp
	new file:   test/blackbox/common/ros2/PublicationNode.hpp
	new file:   test/blackbox/common/ros2/SubscriptionNode.hpp
	new file:   test/blackbox/common/ros2/TopicHolder.hpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   src/cpp/rtps/reader/StatelessReader.cpp

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@mergify mergify bot added the conflicts Backport PR wich git cherry pick failed label Jul 9, 2024
@JesusPoderoso JesusPoderoso added this to the v2.10.5 milestone Jul 9, 2024
* Fix topic interference on `liveliness_changed` status (#4988)

* Refs #21189. Basic infrastructure for ROS2 blackbox tests.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21189. Added callback for liveliness_changed event.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21189. Added ROS2 regression test.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21189. Added blackbox regression test.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21189. Fix StatefulReader.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21189. Fix StatelessReader.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21189. Uncrustify and doxygen.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21245. Change liveliness announcement periods.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21245. Create ROS 2 builtin endpoints.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21245. Fix type and QoS on ros_discovery_info.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21245. Avoid collision with true ROS 2 topics.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21245. Uncrustify.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21245. Fix warnings on MacOS.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21245. Fix tsan reported deadlock.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21189. Fix long-standing deadlock in WLP.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21189. Fix build after rebase.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

---------

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 9243ead)

# Conflicts:
#	src/cpp/rtps/reader/StatefulReader.cpp
#	src/cpp/rtps/reader/StatelessReader.cpp
#	test/blackbox/common/BlackboxTestsLivelinessQos.cpp

* Fix conflicts

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Fix build after backport.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

---------

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 4a6b934)

# Conflicts:
#	src/cpp/rtps/reader/StatelessReader.cpp
@MiguelCompany MiguelCompany force-pushed the mergify/bp/2.10.x/pr-5032 branch from 43524ba to 802a7b6 Compare July 31, 2024 08:29
@MiguelCompany MiguelCompany removed the conflicts Backport PR wich git cherry pick failed label Jul 31, 2024
@MiguelCompany MiguelCompany requested review from MiguelCompany and removed request for MiguelCompany July 31, 2024 08:29
@github-actions github-actions bot added the ci-pending PR which CI is running label Jul 31, 2024
@JesusPoderoso
Copy link
Contributor

CI issues unrelated to the backport.
Ready to merge!

@JesusPoderoso JesusPoderoso added ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. and removed ci-pending PR which CI is running labels Aug 9, 2024
@MiguelCompany MiguelCompany merged commit 8ec9fff into 2.10.x Aug 19, 2024
15 of 18 checks passed
@MiguelCompany MiguelCompany deleted the mergify/bp/2.10.x/pr-5032 branch August 19, 2024 06:06
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
ready-to-merge Ready to be merged. CI and changes have been reviewed and approved.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants