[20584] Effectively assert automatic/manual_by_participant liveliness (backport #4501) #4595
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 withAUTOMATIC_LIVELINESS
. If we suddenly kill one of the publishers (network disconnection or Ctrl+C), theon_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
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.
Changes are ABI compatible.
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
This is an automatic backport of pull request #4501 done by [Mergify](https://mergify.com).