Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#IssueNotes Decision
1Remove Hazelcast from NCMP Module SyncImplementation proposal TBACPS-2161: Remove Hazelcast from NCMP Module Sync
2Java Streams API for CPS and NCMPCPS-2146 Using Java Streams to reduce memory consumption in CPS and NCMP
3Investigate if ODL Yang Parser has a memory leak (if so, likely only a
minor issue as CPS has its own cache wrapping the ODL Yang Parser)

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-2000


4Remove Hazelcast for Trust Level

5Remove use of Postgres arrays in Respository methodsCPS-1574: Remove 32K limit from DB operations (See Proposal 1)
6Replace Hibernate with JDBC (via Spring Data JDBC)

7Review memory use during UPDATE operationsStudy TBA
8Investigate memory usage of Yang Resource repositoryStudy TBA

...

ComponentHazelcast StructureTypePurposeRecommendationImplementation ProposalNotes
CPSanchorDataCache

Map<String, AnchorDataCacheEntry>


Needs further analysis

NCMPmoduleSyncWorkQueue

BlockingQueue<DataNode>


Remove
TBACPS-2161: Remove Hazelcast from NCMP Module Sync

Entire CM handles are stored in work queue for module sync. This creates very high memory usage during CM handle registration. The use of this blocking queue likely causes issues with load balancing during module sync also.

A PoC was constructed: WIP Remove hazelcast map for module sync | https://gerrit.nordix.org/c/onap/cps/+/20724

NCMPmoduleSyncStartedOnCmHandles

Map<String, Object>


Remove
TBACPS-2161: Remove Hazelcast from NCMP Module SyncOne entry is stored in memory per CM handle in ADVISED state.
NCMPdataSyncSemaphores

Map<String, Boolean>


No immediate action, see notes
Low priority - this map is only populated if data sync is enabled for a CM handle. If the feature is used, it will store one entry per CM handle with data sync enabled.
NCMPtrustLevelPerCmHandle

Map<String, TrustLevel>


Remove
TBAOne entry is stored in memory per CM handle. This is directly implicated in logs supplied in investigation of out-of-memory errors in CPS-2146
NCMPtrustLevelPerDmiPlugin

Map<String, TrustLevel>


Low risk, see notes
Low priority - there are only small number of DMIs, so this structure will not grow so large. However, if trustLevelPerCmHandle is being removed, this structure may be removed as part of the same solution.
NCMPcmNotificationSubscriptionCache

Map<String, Map<String, DmiCmNotificationSubscriptionDetails>>


Will need further analysis in future; see notes
This is low priority, as the CM subscription feature is not fully implemented, thus is not in use. It is unclear how much data will be stored in the structure. It is presumed to be low, as this structure will only hold pending subscriptions.

...