Skip to content

[24372] Assert liveliness with periodic heartbeats in secure participants (backport #6411)#6414

Merged
cferreiragonz merged 3 commits into
2.14.xfrom
mergify/bp/2.14.x/pr-6411
Jul 17, 2026
Merged

[24372] Assert liveliness with periodic heartbeats in secure participants (backport #6411)#6414
cferreiragonz merged 3 commits into
2.14.xfrom
mergify/bp/2.14.x/pr-6411

Conversation

@mergify

@mergify mergify Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Description

When two secure participants discover each other, they drop the non-secure channel used for PDP, and establish instead a secure connection through their SimplePDPEndpointsSecure. But since in the secure case TRANSIENT_LOCAL durability is used to share data Ps, there is no periodic data transmission which can be used to assert liveliness. As a consequence, liveliness is lost if there is no (user) data traffic between the participants.

With changes introduced in this PR, it is attempted to solve the issue by sending heartbeats periodically, with the same period data Ps are sent in the non-secure case.

@Mergifyio backport 3.4.x 3.2.x 2.14.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.
  • If this is a critical bug fix, backports to the critical-only supported branches have been requested.
  • 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 #6411 done by [Mergify](https://mergify.com).

@mergify

mergify Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

Cherry-pick of 910ac99 has failed:

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

You are currently cherry-picking commit 910ac9907.
  (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:   test/blackbox/common/BlackboxTestsSecurity.cpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   src/cpp/rtps/builtin/discovery/participant/PDPSimple.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 Jun 1, 2026
@MiguelCompany MiguelCompany added this to the v2.14.7 milestone Jun 1, 2026
@cferreiragonz cferreiragonz removed the conflicts Backport PR wich git cherry pick failed label Jul 15, 2026
@cferreiragonz
cferreiragonz force-pushed the mergify/bp/2.14.x/pr-6411 branch from e8f871c to 4b88de3 Compare July 15, 2026 09:11
@cferreiragonz
cferreiragonz self-requested a review July 15, 2026 09:11
cferreiragonz
cferreiragonz previously approved these changes Jul 15, 2026
@github-actions github-actions Bot added the ci-pending PR which CI is running label Jul 15, 2026
@cferreiragonz
cferreiragonz force-pushed the mergify/bp/2.14.x/pr-6411 branch from 4b88de3 to f508f84 Compare July 15, 2026 12:42
@cferreiragonz
cferreiragonz requested review from richiprosima and removed request for richiprosima July 15, 2026 12:42
@cferreiragonz
cferreiragonz force-pushed the mergify/bp/2.14.x/pr-6411 branch from f508f84 to 23b41a2 Compare July 15, 2026 14:35
MiguelCompany and others added 2 commits July 15, 2026 16:36
)

* Refs #24372. Assert liveliness with periodic heartbeats in secure participants.

Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com>

* Refs #24372. Added regression test.

Signed-off-by: danipiza <dpizarrogallego@gmail.com>

* Refs #24372. Revert change in returned value.

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

* Refs #24372. Improve null pointer checks.

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

* Refs #24372. Uncrustify.

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

---------

Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com>
Signed-off-by: danipiza <dpizarrogallego@gmail.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Co-authored-by: Juan Lopez Fernandez <juanlopez@eprosima.com>
Co-authored-by: danipiza <dpizarrogallego@gmail.com>
(cherry picked from commit 910ac99)

# Conflicts:
#	src/cpp/rtps/builtin/discovery/participant/PDPSimple.cpp
Signed-off-by: Carlos Ferreira González <carlosferreira@eprosima.com>
@cferreiragonz
cferreiragonz force-pushed the mergify/bp/2.14.x/pr-6411 branch from 23b41a2 to 327635a Compare July 15, 2026 14:36
@cferreiragonz
cferreiragonz requested review from richiprosima and removed request for richiprosima July 15, 2026 14:37
Signed-off-by: Carlos Ferreira González <carlosferreira@eprosima.com>
@cferreiragonz
cferreiragonz requested review from richiprosima and removed request for richiprosima July 16, 2026 05:48
@mergify

mergify Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@cferreiragonz
cferreiragonz merged commit 69a1457 into 2.14.x Jul 17, 2026
21 checks passed
@cferreiragonz
cferreiragonz deleted the mergify/bp/2.14.x/pr-6411 branch July 17, 2026 06:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-pending PR which CI is running

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants