[20722] Force unlimited ResourceLimits if lower or equal to zero (backport #4617)
Description
This PR forces the ResourceLimitsQoS values (max_samples, max_instances and max_samples_per_instance) to be considered as unlimited if a value greater than zero is NOT provided.
@Mergifyio backport 2.13.x 2.10.x 2.6.x
Fixes #4609
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
- N/A 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). - [x] New feature has been documented/Current behavior is correctly described in the documentation. Related documentation PR: eProsima/Fast-DDS-docs#738
- [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.
This is an automatic backport of pull request #4617 done by [Mergify](https://mergify.com).
Cherry-pick of 31b8ad145c132aba8440ca9822e759ecdd8b54fe has failed:
On branch mergify/bp/2.6.x/pr-4617
Your branch is up to date with 'origin/2.6.x'.
You are currently cherry-picking commit 31b8ad145.
(fix conflicts and run "git cherry-pick --continue")
(use "git cherry-pick --skip" to skip this patch)
(use "git cherry-pick --abort" to cancel the cherry-pick operation)
Changes to be committed:
modified: src/cpp/fastdds/publisher/DataWriterHistory.cpp
modified: src/cpp/fastdds/subscriber/history/DataReaderHistory.cpp
modified: src/cpp/fastrtps_deprecated/publisher/PublisherHistory.cpp
modified: src/cpp/fastrtps_deprecated/subscriber/SubscriberHistory.cpp
modified: test/mock/rtps/PublisherHistory/fastdds/publisher/DataWriterHistory.hpp
modified: test/mock/rtps/PublisherHistory/fastrtps/publisher/PublisherHistory.h
modified: test/performance/throughput/ThroughputPublisher.cpp
modified: test/performance/throughput/ThroughputSubscriber.cpp
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: include/fastdds/dds/core/policy/QosPolicies.hpp
both modified: test/unittest/dds/publisher/DataWriterTests.cpp
both modified: test/unittest/dds/subscriber/DataReaderTests.cpp
both modified: test/unittest/dds/topic/TopicTests.cpp
To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally
@JesusPoderoso would you mind addressing the conflicts here ?
@richiprosima please test this
@JesusPoderoso we may take a look at this since the following tests have consistently failed projectroot.test.unittest.dds.publisher.DataWriterTests.InstancePolicyAllocationConsistencyKeyed projectroot.test.unittest.dds.subscriber.DataReaderTests.InstancePolicyAllocationConsistencyKeyed projectroot.test.unittest.dds.topic.TopicTests.InstancePolicyAllocationConsistencyKeyed
@JesusPoderoso we may take a look at this since the following tests have consistently failed projectroot.test.unittest.dds.publisher.DataWriterTests.InstancePolicyAllocationConsistencyKeyed projectroot.test.unittest.dds.subscriber.DataReaderTests.InstancePolicyAllocationConsistencyKeyed projectroot.test.unittest.dds.topic.TopicTests.InstancePolicyAllocationConsistencyKeyed
These tests fail because #2807 was not backported. Consequently, in 2.6.x we are missing checking for max_samples < ( max_instances * max_samples_per_instance ) in every entity. What should we do @EduPonz @MiguelCompany ?
As this PR implies cherry-picking a prior PR that imposes a change of behavior, we finally decided not to go ahead with none of them.