-
Notifications
You must be signed in to change notification settings - Fork 765
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix StatelessWriter locators filtering [18950] #3655
Conversation
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: Juan López Fernández <juanlopez@eprosima.com>
Signed-off-by: Juan López Fernández <juanlopez@eprosima.com>
a3539d3
to
fbdbd2c
Compare
Signed-off-by: Juan López Fernández <juanlopez@eprosima.com>
Signed-off-by: Juan López Fernández <juanlopez@eprosima.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with green CI
Signed-off-by: Juan López Fernández <juanlopez@eprosima.com>
Signed-off-by: Juan López Fernández <juanlopez@eprosima.com>
Signed-off-by: Juan López Fernández <juanlopez@eprosima.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one nit
Signed-off-by: Juan López Fernández <juanlopez@eprosima.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with green CI
@richiprosima Please test this |
@richiprosima please test mac |
Windows CI errors seems unrelated to the PR. Ready to merge |
@Mergifyio backport 2.10.x 2.9.x |
✅ Backports have been created
|
* Refs #18950: Introduce regression test Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> * Refs #18950: Make test build Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> * Finalize test Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Add fix Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Uncrustify Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Apply suggestions Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Separate parametrized tests Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Issue test compilation warning Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Make messages_sent an object attribute Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Get rid of messages_sent and use object's locator_filter Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Apply suggestion Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> --------- Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> Co-authored-by: JesusPoderoso <jesuspoderoso@eprosima.com> (cherry picked from commit e7720ca)
* Refs #18950: Introduce regression test Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> * Refs #18950: Make test build Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> * Finalize test Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Add fix Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Uncrustify Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Apply suggestions Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Separate parametrized tests Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Issue test compilation warning Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Make messages_sent an object attribute Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Get rid of messages_sent and use object's locator_filter Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> * Apply suggestion Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> --------- Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> Signed-off-by: Juan López Fernández <juanlopez@eprosima.com> Co-authored-by: JesusPoderoso <jesuspoderoso@eprosima.com> (cherry picked from commit e7720ca)
Description
The filtering of UDP locators when SHM is available used to be performed when parsing received data Ps (
ParticipantProxyData::readFromCDRMessage
). #3079 moved this filtering forward to the EDP phase, conserving the UDP locator untilExternalLocatorsProcessor::filter_remote_locators
is called inmatched_reader_add
. This filtering function requires the writer to have their own UDP and SHM locators available (inm_att.external_unicast_locators
), so it can determine the reader's UDP one can be discarded. However, this requirement is only fulfilled by StatefulWriters as this attribute is set in writer creation atRTPSParticipantImpl::createAndAssociateReceiverswithEndpoint
, currently only invoked for reliable writers.This PR aims to fix the issue by encapsulating endpoints external locators initialization in a method, to be called when creating all writers irrespective of their reliability kind.
@Mergifyio backport 2.10.x 2.9.x
Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist