[20584] Effectively assert automatic/manual_by_participant liveliness
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.mdfile (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.
@richiprosima please test linux test discovery_server
@mergifyio rebase
rebase
✅ Branch has been successfully rebased
@richiprosima please test this
@richiprosima please test this
@Mergifyio rebase master
rebase master
✅ Branch has been successfully rebased
@richiprosima please test this
@Mergifyio backport 2.13.x 2.10.x 2.6.x
backport 2.13.x 2.10.x 2.6.x
✅ Backports have been created
-
#4594 [20584] Effectively assert automatic/manual_by_participant liveliness (backport #4501) has been created for branch
2.13.x -
#4595 [20584] Effectively assert automatic/manual_by_participant liveliness (backport #4501) has been created for branch
2.10.x -
#4596 [20584] Effectively assert automatic/manual_by_participant liveliness (backport #4501) has been created for branch
2.6.x