Skip to content
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

[1.9.x] Reduce proxies memory consumption [7038] #916

Merged
merged 3 commits into from
Jan 30, 2020

Conversation

MiguelCompany
Copy link
Member

This PR reduces the memory consumption of ReaderProxy and WriterProxy by keeping just the necessary items from the corresponding proxy data.

@MiguelCompany MiguelCompany changed the title [1.9.x] Reduce proxies memory consumption [1.9.x] Reduce proxies memory consumption [7038] Dec 11, 2019
@MiguelCompany MiguelCompany added this to the v1.9.4 milestone Dec 18, 2019
@MiguelCompany MiguelCompany force-pushed the feature/reduce-proxies-memory_1.9.x branch from 39b3c07 to 431cf3d Compare January 10, 2020 06:56
@richiware
Copy link
Member

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@MiguelCompany MiguelCompany modified the milestones: v1.9.4, v1.9.5 Jan 13, 2020
Copy link
Contributor

@IkerLuengo IkerLuengo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

MiguelCompany added a commit that referenced this pull request Jan 28, 2020
@richiware
Copy link
Member

richiware commented Jan 29, 2020

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status (unrelated failure)

@MiguelCompany MiguelCompany merged commit f4cbe07 into 1.9.x Jan 30, 2020
@MiguelCompany MiguelCompany deleted the feature/reduce-proxies-memory_1.9.x branch January 30, 2020 07:05
MiguelCompany pushed a commit that referenced this pull request Jan 31, 2020
MiguelCompany added a commit that referenced this pull request Feb 4, 2020
* Ref. 5750 XML schema for variable size parameters' max size

* Ref. 5750 make data types deserialize themselves

* Ref. 5750 Make ParticipantProxyData deserialize its messages

* Ref. 5750 Make ReaderProxyData deserialize its messages

* Ref. 5750 Make WriterProxyData deserialize its messages

* Ref. 5750 avoid allocations on deserialize

* Ref. 5750 Make UserData aware of it own size

* Ref. 5750 max size-aware ParameterPropertyList_t

* Ref. 5750 group data limits in a new struct

* Ref. 5750 initialize data limits on WriterProxyData and ReaderProxyData

* Ref. 5750 more initialize data limits on WriterProxyData and ReaderProxyData

* size limit on PartitionQosPolicy

* Ref. 5750 Improve properties' modifications

Improve error handling while modifying properties

* Ref. 5750 testing dynamic data size limits

* Ref. 5750 remove obsolete code

* Ref. 5750 Remove unused ParameterList::readParameterListfromCDRMsg

* Ref. 5750 correct compilation with security option

* Ref. 5750 correct compilations on mocks

* Correct compilation warnings

* Correct security manager message reading routine

* remove compilation warning

* Correct valgrind errors

* Remove compilation warnings on Windows

* Reduce code duplication in CDRMessage::add_string

And applying some naming rules

* Correct logic error on SerializedPayload::operator==

* Uncrustify CDRMessage

* Remove unused method on ParameterList

* correct string size alignment

* Ref. 5750 ParameterType checks size when reading from message

* Ref. 5750 Move comon code of reading messages to ParameterLists

* Ref. 5750 Removing warnings

* Ref. 5750 ProxyDatas don't need data limits anymore

This comes after rebase to #916

* Ref. 5750 unused variable warning removal

* Refs #7305. Uncrustify ParameterTypes

* Refs #7305. Uncrustify QosPolicies.

* Refs #7305. Avoid duplicate code on ParameterList.cpp

* Refs #7305. Styling on ParticipantProxyData.

* Refs #7305. Styling on ReaderProxyData.

* Refs #7305. Styling on WriterProxyData.

* Refs #7305. Added ParameterList::read_guid_from_cdr_msg.

* Refs #7305. Style on ParameterList.cpp

* Refs #7305. Using ParameterList::read_guid_from_cdr_msg on PKIDH.

* Refs #7305. Style on PKIDH.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
IkerLuengo added a commit that referenced this pull request Feb 5, 2020
IkerLuengo added a commit that referenced this pull request Feb 6, 2020
MiguelCompany added a commit that referenced this pull request Feb 10, 2020
* Ref. 5750 XML schema for variable size parameters' max size

* Ref. 5750 make data types deserialize themselves

* Ref. 5750 Make ParticipantProxyData deserialize its messages

* Ref. 5750 Make ReaderProxyData deserialize its messages

* Ref. 5750 Make WriterProxyData deserialize its messages

* Ref. 5750 avoid allocations on deserialize

* Ref. 5750 Make UserData aware of it own size

* Ref. 5750 max size-aware ParameterPropertyList_t

* Ref. 5750 group data limits in a new struct

* Ref. 5750 initialize data limits on WriterProxyData and ReaderProxyData

* Ref. 5750 more initialize data limits on WriterProxyData and ReaderProxyData

* size limit on PartitionQosPolicy

* Ref. 5750 Improve properties' modifications

Improve error handling while modifying properties

* Ref. 5750 testing dynamic data size limits

* Ref. 5750 remove obsolete code

* Ref. 5750 Remove unused ParameterList::readParameterListfromCDRMsg

* Ref. 5750 correct compilation with security option

* Ref. 5750 correct compilations on mocks

* Correct compilation warnings

* Correct security manager message reading routine

* remove compilation warning

* Correct valgrind errors

* Remove compilation warnings on Windows

* Reduce code duplication in CDRMessage::add_string

And applying some naming rules

* Correct logic error on SerializedPayload::operator==

* Uncrustify CDRMessage

* Remove unused method on ParameterList

* correct string size alignment

* Ref. 5750 ParameterType checks size when reading from message

* Ref. 5750 Move comon code of reading messages to ParameterLists

* Ref. 5750 Removing warnings

* Ref. 5750 ProxyDatas don't need data limits anymore

This comes after rebase to #916

* Ref. 5750 unused variable warning removal

* Refs #7305. Uncrustify ParameterTypes

* Refs #7305. Uncrustify QosPolicies.

* Refs #7305. Avoid duplicate code on ParameterList.cpp

* Refs #7305. Styling on ParticipantProxyData.

* Refs #7305. Styling on ReaderProxyData.

* Refs #7305. Styling on WriterProxyData.

* Refs #7305. Added ParameterList::read_guid_from_cdr_msg.

* Refs #7305. Style on ParameterList.cpp

* Refs #7305. Using ParameterList::read_guid_from_cdr_msg on PKIDH.

* Refs #7305. Style on PKIDH.cpp

* Refs.7305 Restore API on QosPolicies

* Refs #7305. Revert test modifications to old API

* apply review suggestions

* Ref. 5750 clear QoS instead of reconstruct

* Correct indentation

* reset 'hasChanged' to default value on clear

* correct reading of TypeConsistencyEnforcement

* Correct operator= for UserData and Partitions

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants