[23523] Return sample notifying changes on instance state#5943
Merged
MiguelCompany merged 19 commits intomasterfrom Jul 24, 2025
Merged
[23523] Return sample notifying changes on instance state#5943MiguelCompany merged 19 commits intomasterfrom
MiguelCompany merged 19 commits intomasterfrom
Conversation
6d2e1d1 to
7c23425
Compare
7c23425 to
d38f770
Compare
1dc470e to
98b8ba0
Compare
224e7c0 to
f17c90d
Compare
f17c90d to
64e5db2
Compare
Mario-DL
suggested changes
Jul 23, 2025
Contributor
Mario-DL
left a comment
There was a problem hiding this comment.
Nice maneuver to notify the final state on an instance with no writers. Leaving some minor suggestions.
We would need to relaunch or review the failed asan test report
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
64e5db2 to
38885e4
Compare
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Member
Author
|
@Mergifyio backport 3.3.x 3.2.x 2.14.x |
Contributor
✅ Backports have been createdDetails
|
mergify bot
pushed a commit
that referenced
this pull request
Jul 24, 2025
* Refs #22929. Add regression blackbox test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Improve test with listener. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add `has_fake_sample` to `DataReaderInstance`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Manage state of `has_fake_sample`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Handle `has_fake_sample` on `ReadTakeCommand`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid removing instances with fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add instances with fake sample to `data_available_instances_`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Method `writer_not_alive` returns whether a fake sample was added. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add fake sample independently of remaining samples Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Notify data_available when adding a fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Remove shortcut for returning NO_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in PubSubReader. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in DDSBlackboxTestsMonitorService. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix DataReaderTests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix Latency tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Rename `fake` into `state notification`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use HANDLE_NIL for publication handle. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use NIL publication handle to discard samples in tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use scoped name for HANDLE_NIL. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 16b7477)
mergify bot
pushed a commit
that referenced
this pull request
Jul 24, 2025
* Refs #22929. Add regression blackbox test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Improve test with listener. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add `has_fake_sample` to `DataReaderInstance`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Manage state of `has_fake_sample`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Handle `has_fake_sample` on `ReadTakeCommand`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid removing instances with fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add instances with fake sample to `data_available_instances_`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Method `writer_not_alive` returns whether a fake sample was added. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add fake sample independently of remaining samples Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Notify data_available when adding a fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Remove shortcut for returning NO_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in PubSubReader. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in DDSBlackboxTestsMonitorService. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix DataReaderTests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix Latency tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Rename `fake` into `state notification`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use HANDLE_NIL for publication handle. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use NIL publication handle to discard samples in tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use scoped name for HANDLE_NIL. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 16b7477)
mergify bot
pushed a commit
that referenced
this pull request
Jul 24, 2025
* Refs #22929. Add regression blackbox test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Improve test with listener. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add `has_fake_sample` to `DataReaderInstance`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Manage state of `has_fake_sample`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Handle `has_fake_sample` on `ReadTakeCommand`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid removing instances with fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add instances with fake sample to `data_available_instances_`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Method `writer_not_alive` returns whether a fake sample was added. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add fake sample independently of remaining samples Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Notify data_available when adding a fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Remove shortcut for returning NO_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in PubSubReader. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in DDSBlackboxTestsMonitorService. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix DataReaderTests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix Latency tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Rename `fake` into `state notification`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use HANDLE_NIL for publication handle. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use NIL publication handle to discard samples in tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use scoped name for HANDLE_NIL. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 16b7477) # Conflicts: # src/cpp/fastdds/subscriber/DataReaderImpl.cpp # src/cpp/fastdds/subscriber/history/DataReaderHistory.hpp # test/blackbox/api/dds-pim/PubSubReader.hpp # test/blackbox/common/DDSBlackboxTestsMonitorService.cpp # test/performance/latency/LatencyTestPublisher.cpp # test/performance/latency/LatencyTestSubscriber.cpp
MiguelCompany
added a commit
that referenced
this pull request
Jul 29, 2025
* Refs #22929. Add regression blackbox test. * Refs #22929. Improve test with listener. * Refs #22929. Add `has_fake_sample` to `DataReaderInstance`. * Refs #22929. Manage state of `has_fake_sample`. * Refs #22929. Handle `has_fake_sample` on `ReadTakeCommand`. * Refs #22929. Avoid removing instances with fake sample. * Refs #22929. Add instances with fake sample to `data_available_instances_`. * Refs #22929. Method `writer_not_alive` returns whether a fake sample was added. * Refs #22929. Add fake sample independently of remaining samples * Refs #22929. Notify data_available when adding a fake sample. * Refs #22929. Remove shortcut for returning NO_DATA. * Refs #22929. Avoid processing fake samples in PubSubReader. * Refs #22929. Avoid processing fake samples in DDSBlackboxTestsMonitorService. * Refs #22929. Fix DataReaderTests. * Refs #22929. Fix Latency tests. * Refs #22929. Rename `fake` into `state notification`. * Refs #22929. Use HANDLE_NIL for publication handle. * Refs #22929. Use NIL publication handle to discard samples in tests. * Refs #22929. Use scoped name for HANDLE_NIL. --------- (cherry picked from commit 16b7477) Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany
added a commit
that referenced
this pull request
Jul 29, 2025
* Refs #22929. Add regression blackbox test. * Refs #22929. Improve test with listener. * Refs #22929. Add `has_fake_sample` to `DataReaderInstance`. * Refs #22929. Manage state of `has_fake_sample`. * Refs #22929. Handle `has_fake_sample` on `ReadTakeCommand`. * Refs #22929. Avoid removing instances with fake sample. * Refs #22929. Add instances with fake sample to `data_available_instances_`. * Refs #22929. Method `writer_not_alive` returns whether a fake sample was added. * Refs #22929. Add fake sample independently of remaining samples * Refs #22929. Notify data_available when adding a fake sample. * Refs #22929. Remove shortcut for returning NO_DATA. * Refs #22929. Avoid processing fake samples in PubSubReader. * Refs #22929. Avoid processing fake samples in DDSBlackboxTestsMonitorService. * Refs #22929. Fix DataReaderTests. * Refs #22929. Fix Latency tests. * Refs #22929. Rename `fake` into `state notification`. * Refs #22929. Use HANDLE_NIL for publication handle. * Refs #22929. Use NIL publication handle to discard samples in tests. * Refs #22929. Use scoped name for HANDLE_NIL. --------- (cherry picked from commit 16b7477) Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany
added a commit
that referenced
this pull request
Jul 29, 2025
* Refs #22929. Add regression blackbox test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Improve test with listener. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add `has_fake_sample` to `DataReaderInstance`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Manage state of `has_fake_sample`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Handle `has_fake_sample` on `ReadTakeCommand`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid removing instances with fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add instances with fake sample to `data_available_instances_`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Method `writer_not_alive` returns whether a fake sample was added. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add fake sample independently of remaining samples Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Notify data_available when adding a fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Remove shortcut for returning NO_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in PubSubReader. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in DDSBlackboxTestsMonitorService. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix DataReaderTests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix Latency tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Rename `fake` into `state notification`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use HANDLE_NIL for publication handle. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use NIL publication handle to discard samples in tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use scoped name for HANDLE_NIL. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany
added a commit
that referenced
this pull request
Jul 29, 2025
* Refs #22929. Add regression blackbox test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Improve test with listener. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add `has_fake_sample` to `DataReaderInstance`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Manage state of `has_fake_sample`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Handle `has_fake_sample` on `ReadTakeCommand`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid removing instances with fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add instances with fake sample to `data_available_instances_`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Method `writer_not_alive` returns whether a fake sample was added. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Add fake sample independently of remaining samples Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Notify data_available when adding a fake sample. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Remove shortcut for returning NO_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in PubSubReader. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Avoid processing fake samples in DDSBlackboxTestsMonitorService. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix DataReaderTests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Fix Latency tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Rename `fake` into `state notification`. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use HANDLE_NIL for publication handle. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use NIL publication handle to discard samples in tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #22929. Use scoped name for HANDLE_NIL. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany
added a commit
that referenced
this pull request
Jul 30, 2025
* Refs #22929. Add regression blackbox test. * Refs #22929. Improve test with listener. * Refs #22929. Add `has_fake_sample` to `DataReaderInstance`. * Refs #22929. Manage state of `has_fake_sample`. * Refs #22929. Handle `has_fake_sample` on `ReadTakeCommand`. * Refs #22929. Avoid removing instances with fake sample. * Refs #22929. Add instances with fake sample to `data_available_instances_`. * Refs #22929. Method `writer_not_alive` returns whether a fake sample was added. * Refs #22929. Add fake sample independently of remaining samples * Refs #22929. Notify data_available when adding a fake sample. * Refs #22929. Remove shortcut for returning NO_DATA. * Refs #22929. Avoid processing fake samples in PubSubReader. * Refs #22929. Avoid processing fake samples in DDSBlackboxTestsMonitorService. * Refs #22929. Fix DataReaderTests. * Refs #22929. Fix Latency tests. * Refs #22929. Rename `fake` into `state notification`. * Refs #22929. Use HANDLE_NIL for publication handle. * Refs #22929. Use NIL publication handle to discard samples in tests. * Refs #22929. Use scoped name for HANDLE_NIL. --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Blast545
added a commit
to Blast545/Fast-DDS
that referenced
this pull request
Jul 31, 2025
) (eProsima#5956)" This reverts commit 0b18cfe.
Blast545
added a commit
to Blast545/Fast-DDS
that referenced
this pull request
Aug 1, 2025
) (eProsima#5956)" This reverts commit 0b18cfe. Signed-off-by: Jorge J. Perez <jjperez@ekumenlabs.com>
MiguelCompany
pushed a commit
that referenced
this pull request
Aug 1, 2025
MiguelCompany
added a commit
that referenced
this pull request
Aug 1, 2025
13 tasks
13 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Fixes a bug where changes in the instance state coming from internal events (unmatching, liveliness lost, deadline missed) were not notified with a fake sample (i.e. no data and info.valid_data equal false)
@Mergifyio backport 3.3.x 3.2.x 2.14.x
Contributor Checklist
versions.mdfile (if applicable).Reviewer Checklist