Fast-DDS icon indicating copy to clipboard operation
Fast-DDS copied to clipboard

[20584] Effectively assert automatic/manual_by_participant liveliness

Open Mario-DL opened this issue 2 years ago • 5 comments

Description

This PR brings a bugfix when asserting AUTOMATIC MANUAL_BY_PARTICIPANT liveliness kinds. In the scenario of having a participant with two datareaders (each of them with a lease duration of 2 secs) and other two participants with one publisher each one configured with AUTOMATIC_LIVELINESS. If we suddenly kill one of the publishers (network disconnection or Ctrl+C), the on_liveliness_changed() is not received on the reader side when we would expect it to happen (after 2 secs).

The problem stems from the fact that currently, in the reader-side participant, it is enough having an alive writer with the same kind (AUTOMATIC_LIVELINESS) to assert the liveliness of all of its readers with the same kind regardless of the participant.

This PR makes the liveliness assertion participant-aware by means of the guidPrefix.

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

Fixes #4373

Contributor Checklist

  • [X] Commit messages follow the project guidelines.
  • [X] The code follows the style guidelines of this project.
  • [X] 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
  • [X] Any new/modified methods have been properly documented using Doxygen.
  • [X] Changes are ABI compatible.
  • [X] 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.
  • [X] Applicable backports have been included in the description.

Reviewer Checklist

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

Mario-DL avatar Mar 05 '24 07:03 Mario-DL

@richiprosima please test linux test discovery_server

Mario-DL avatar Mar 05 '24 07:03 Mario-DL

@mergifyio rebase

MiguelCompany avatar Mar 11 '24 15:03 MiguelCompany

rebase

✅ Branch has been successfully rebased

mergify[bot] avatar Mar 11 '24 15:03 mergify[bot]

@richiprosima please test this

JesusPoderoso avatar Mar 13 '24 22:03 JesusPoderoso

@richiprosima please test this

Mario-DL avatar Mar 14 '24 10:03 Mario-DL

@Mergifyio rebase master

EduPonz avatar Mar 20 '24 18:03 EduPonz

rebase master

✅ Branch has been successfully rebased

mergify[bot] avatar Mar 20 '24 18:03 mergify[bot]

@richiprosima please test this

EduPonz avatar Mar 20 '24 18:03 EduPonz

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

EduPonz avatar Mar 21 '24 06:03 EduPonz