summaryrefslogtreecommitdiffstats
path: root/cps-ri/src
AgeCommit message (Collapse)AuthorFilesLines
2022-11-08Node API - GET Method performance issuesourabh_sourabh3-26/+58
- Modified toDataNode call based on fetch descendants option. - Used fragment extract to build fragment entity. - Modified data set to have correct parent id for descendants. Reviewers : Toine, Priyank and Joe Issue-ID: CPS-1171 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I27a537fe72dd396722e6cfde7d8c454ed2579ec0 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2022-11-04CPS-RI performance profiles implementaionseanbeirne1-4/+3
Reviewers: Joe, Levente, Luke Issie-ID: CPS-1351 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: Ia7b9a4bbf103d6b54f6fde9dd2d80a3c825c3046
2022-11-02Ensure prefix is correct module prefixToineSiebelink8-306/+39
- Moved Prefix logic from RI to Service layer - Prefix is no PREFIX propety, not the moduel name! == RI (DB Layer) Changes - Removed prefix logic incl hazelcast - Added new basic ri-test for getDataNode and assert prefix is null - Updated exsiting ri-test to us getDataNode - Updated existing ri-test to only use " where really needed == CPS Service Layer Changes - Introduced PrefixResolver with clear and limited responsibility - Use PrefixResolver where needed - Cache prefix map per anchor, use cached entry when available - Disabled SONAR on new Regex == REST Layer - Use PrefixResolver where needed Issue-ID: CPS-1353 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ie16f0e1ee1c280f3eb69c9e64fab69a780fb692a
2022-10-27Read Performance Improvement - Using Native QueryToineSiebelink9-77/+215
- Native query for FragmentExtracts - Convert FragmentExtracts to tree of FragmentEntity - Native Query now used for all Gets with descendants (orignal hibernate option only used when descendanst ommited) - Added error handling for not-found on native query - Ommit descendants by default on many udpate use-cases (this might have a signifcant perf. improvemnt impact too) - Improved legacy tests for delete use-cases - Corrected performace test expectation - Fix TTL test realizing TTL resolution is whole seconds! Issue-ID: CPS-1301 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I658ac1b7b7036f01050f30bdf9e5bd175725ef1d
2022-10-26Creation of DataNodeBuilder with module name prefix is very slowToineSiebelink8-14/+270
- Created a new hazelcast distributed cache for anchor data config use cases. - Module name prefix is added for root data node only. - Cached module name prefix by anchor name on demand from database at first call. - Introduced a new cache holder to have module name prefix of diff. levels. Issue-ID: CPS-1326 Change-Id: I9072f5efdeea59843cd827ac556d3c0547a3a0cf Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-10-20CPS Validator Changeslukegleeson2-0/+100
Changed CPS Validator from static to non-static Moved CPSValidator implementation to rest interface layer to prevent duplicated usage Created CPSValidator interface in persistence layer Removed unnecessary tests Refactored misplaced tests Copyright fixes Copyright Check Script output formatting fix Issue-ID: CPS-1228 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I4c99a51870e7d3b8e416bc1f909aeed5dc3baa42
2022-10-18Increase read time of get datanode testlukegleeson1-2/+2
Build was failing locally for me with development applications open (intellij, chrome, etc...) After discussion with Toine we are prioritising performance test pipeline with suggested increase from 3.5 seconds to 6 seconds. Issue-ID: CPS-1171 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I335fda7ba19b1fb8f4aa543833df65de26d9ccc3
2022-10-17Merge " Node API - GET Method performance issue (junit)"Toine Siebelink1-0/+89
2022-10-17 Node API - GET Method performance issue (junit)JosephKeenan1-0/+89
Reviewers: Toine, Sourabh, Levente Issue-ID: CPS-1171 Signed-off-by: JosephKeenan <joseph.keenan@est.tech> Change-Id: I8e59d686ead079d751a459c5933592423aa15ace
2022-10-14Merge "Default CMHandles to READY during upgrade"Toine Siebelink2-7/+141
2022-10-13Merge "Fix Id-searches endpoint performance degradation"Toine Siebelink1-16/+19
2022-10-12Fix Id-searches endpoint performance degradationkissand1-16/+19
- create more flexible control over fetch descendants - add a new FETCH_DIRECT_CHILDREN_ONLY option to fetch descendants options - enabel create custom fetch descendants option Reviewer: Toine, Joe, Priyank Issue-ID: CPS-1216 Change-Id: I900b32e813367aa9566c1dec986b20f009d27203 Signed-off-by: kissand <andras.zoltan.kiss@est.tech>
2022-10-12Default CMHandles to READY during upgradelukegleeson2-7/+141
Allows upgrade from liquibase changelog 11 to 16 Sets CMHandles which do not have a state to state READY Issue-ID: CPS-1312 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I6b6b05ba6fad3d174e43e9c385cbc1f9f4e4e5e5
2022-10-05Make CPS/NCMP upgradeablelukegleeson4-1/+21
Liquibase step to add CM Handle Advised state to existing CM Handles Issue-ID: CPS-1312 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I8077e66c64946f6ce092daa96ee40cd935fe0b72
2022-10-03Remove NotNull on revision for YangResourceEntitylukegleeson1-1/+0
Issue-ID: CPS-1265 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: Icfe4d9881a3aa7d92d5bd17eaaed91bdbce0a203
2022-09-19Merge "Get Node API fix for attribute values with '/'"Sourabh Sourabh3-19/+24
2022-09-14Get Node API fix for attribute values with '/'puthuparambil.aditya3-19/+24
Issue-ID: CPS-1179 Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca> Change-Id: Iae53dbd2c6b421633355958aee3f2bbe321501a2
2022-09-13handle partial failure on batch state updatempriyank2-17/+52
- catching of failures on retry of individual nodes on batch update - test scenarios for the same Issue-ID: CPS-1232 Issue-ID: CPS-1126 Change-Id: I9dc13e7bbe44673f8ac14fbde08a85d6a5142487 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-09-13CmHandle registration/module sync watchdog performance improvmentsourabh_sourabh1-11/+4
- Tuned CPS DB parameters - Removed deprecated CPS DB parameter - Modified module sync watch logic - Added aditional logs - Removed logic to get FragmentEntities as stream - Removed detaching of fragment entity as it was causing NCMP to break with an exception "SQLSTATE(08006)" Issue-ID: CPS-1126 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I0bde11895f754602dece132efde701d82b377f12
2022-09-13Handle partial failure (improvements)ToineSiebelink2-24/+40
- catching of failures on retry of individual nodes - extract cm handle id from xpaths (can only report xpaths in cps core) - add test for same Issue-ID: CPS-1232 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ice2032c8b15fea97ae0aaa4d1ed642b3499228fa
2022-09-12Handle partial failurempriyank2-22/+68
- Removing the transaction boundaries as it was getting rollbacked on partial failures - Handled adding the elements in batch and if it fails try them individually - Refactored code a bit and when there is partial failure we try one more time in sequence and even if there are failures we collect the failures Issue-ID: CPS-1232 Issue-ID: CPS-1126 Change-Id: I7824c9f37f80cbaeedd5dc06d598ca0e3a69c59b Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-09-05Performance Improvement: Fix Insert Yang Resource IDs (Schemset)ToineSiebelink3-4/+27
- Add robustness to handle insertion/get of empty collection - Fix business logic to pass down ALL module references during module Sync - Update Java doc etc to clarify ALL module references are needed (not just new) Issue-ID: CPS-1246 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ic8ff4bdfef646e98ef61a6732c6d5ecb4b762e29
2022-09-02Logging: get resource idsmpriyank1-4/+11
- Added logging while fetching resource ids using Module references. - Minor refactoring related to stream and forEach - Fixed minor sonar violations Issue-ID: CPS-1246 Change-Id: I631d7acd3f29e6bdc2995726e17f40bd7de118b1 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-08-29Performance Improvement:save cmhandles capabilitympriyank2-2/+12
- add saveCmHandleBatch in InventoryPersistence - add saveListElementsBatch in CpsDataService - have addListElementsBatch in CpsDataPersistenceService - Test scenarios for the same Issue-ID: CPS-1229 Issue-ID: CPS-1126 Change-Id: I0a1401818da5a4e523d7d0751cac6a526d1611b2 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-08-25Performance Improvement: Batch Update DataNodeslukegleeson3-58/+115
Implemented methods to perform a batch operation on updating datanodes Refactored replace data node(s) tree methods to update data node(s) and descendants Issue-ID: CPS-1203 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I365d657422b19c9ce384110c9a23d041eaed06f4
2022-08-22Merge "Performance Improvement: Insert Yang Resources"Toine Siebelink4-71/+104
2022-08-22Merge "Performance Improvement: Retreive Yang Resources"Sourabh Sourabh4-19/+102
2022-08-22Performance Improvement: Insert Yang ResourcesToineSiebelink4-71/+104
Insert batches of yang resources for a schema set into one operation add batch-sized tests to ensure batch-size logic is covered for all branches fixed legacy issues in changed test classes Issue-ID: CPS-1208 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I5b2a54ed0895999079975d777ba89d589ed4688b
2022-08-22Performance Improvement: Retreive Yang ResourcesToineSiebelink4-19/+102
Native query to more efficiently get all yangResourceIds Combined Hibernate Fragment Repository with Native impl. Issue-ID: CPS-1206 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I93fbd5347dd8f9fc48d44e69e47e8aed2d7ac030
2022-08-22Performance Improvement: Detach FragmentEntitiesmpriyank1-5/+18
- Querying fragment entities and moving them to detached state as they are not needed to be managed by the JPA provider. - Addressed legacy change to provide actual type instead of var generic type. Issue-ID: CPS-1126 Issue-ID: CPS-1207 Change-Id: Ibbdbb197a6d480a8b2f7b9cae6052b82ea3686c6 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-08-08Merge "Rename name column in yang resource table"Joseph Keenan11-19/+30
2022-08-05Rename name column in yang resource tableDylanB95EST11-19/+30
- Rename name column in yang_resource table to file_name - Refactor instances where it occures in code and tests - Add new changelog file to rename occurance Issue-ID: CPS-529 Change-Id: I2aff97410bdb041b90d8ceaeff75e562ef8d9238 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-08-05Upgrade Postgres Cps-CoreDylanB95EST1-1/+2
Upgrade postgres version to 14 in accordance with Seccom Issue-ID: CPS-897 Change-Id: I332c88f3c3e1ec3dd55afe31af5714b690b6bd07 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-07-27Distributed datastore solution for Module Sync Watchdogkissand1-1/+1
- use semaphore map in ModuleSyncWatchdog - increase test timeout, because it needs more time for hazelcast initialization Issue-ID: CPS-1015 Change-Id: I71feed8fbbd047af9fabba29a5f762a1f17a1c78 Signed-off-by: kissand <andras.zoltan.kiss@est.tech>
2022-07-04Move persistence related methodsemaclee1-1/+0
-created new method in inventory persistence service for getting module references Issue-ID: CPS-1117 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: Ic1f3c180a62a7211e19982d8f3570829db58370e
2022-06-30Add method to get YANG module sources for CM handleemaclee3-4/+43
- part of this commit includes renaming the enum SyncState to DataStoreSyncState Issue-ID: CPS-1064 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I6bf419141a1b33f09871946445cdfff422c8c354
2022-06-09Handle errors during cm handle searchkissand2-19/+18
Issue-ID: CPS-1067 Change-Id: Iadc3413a29f9a455e658ec5bcaffc4881b7f7684 Signed-off-by: kissand <andras.zoltan.kiss@est.tech>
2022-06-08Merge "Merge 2 'query' end points in NCMP"Toine Siebelink5-170/+72
2022-06-08Merge 2 'query' end points in NCMPkissand5-170/+72
- merge two endpoint for a same backend - use xPath query instead of sql query - modify searches endpoint to return a cmHandle object with all public properties - handle old (deprecated) queries - handle public property queries - create useful examples - use more verbose error messages - simplify openapi yamls - create new query service - change second endpoint name to a better matched name - modify legacy tests with new requirements - create new tests for the new scenarios Issue-ID: CPS-1016 Change-Id: I7476e9dbd510ec93b5b48ce85d477ecb2dadffff Signed-off-by: kissand <andras.zoltan.kiss@est.tech>
2022-06-03Merge "CPS-1020 : DuplicatedYangResourceException error at parallel cmHandle ↵Toine Siebelink1-3/+7
registration"
2022-06-02CPS-1020 : DuplicatedYangResourceException error at parallel cmHandle ↵sourabh_sourabh1-3/+7
registration - @EnableRetry is added into application. - Added retry count into log to add more information about retry. Issue-ID: CPS-1020 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I00c58ef17a8c066f98711c1cf8e5e5cb5f22974b
2022-06-02Add module name to cps core outputemaclee4-43/+129
- add withModuleName method - add getNodeIdentifierWithPrefix method - add unit test in DataMapUtilsSpec - add unit test in DataNodeBuilderSpec - fix all existing unit tests Issue-ID: CPS-870 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I51b70fa2dd3381eef9500b4339d4922c017e3000
2022-05-12Merge "Add graceful shutdown for Session Manager"Joseph Keenan6-42/+181
2022-05-12Add graceful shutdown for Session Manageremaclee6-42/+181
Introduce singleton session manager Add unit test for session manager Issue-Id: CPS-898 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: Iaf91f1aa6c1ebfe0ab907e7f7d80a01e940a0fdd
2022-05-11Update DMI Registry yang to support DataStoreSyncStateLathish3-0/+238
- Added dmi-registry@2022-05-10 yang to support DataStoreSyncState - Added changelog 14 to add the dmi-registry Issue-ID: CPS-1014 Change-Id: I910d2496a359fdf2441e172ca270036272d31dc6 Signed-off-by: Lathish <lathishbabu.ganesan@est.tech>
2022-04-27Add methods to Lock Anchor entityemaclee6-35/+272
Added separate integration and mock-based unit tests Issue-ID: CPS-898 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: I14d1d1c41759ce028e2417fdd2df001280e19ab2
2022-04-25Fix Absolute Path to list with Integer/String keyLathish6-95/+117
- Introduced normalizedXpath to normalize the xpath and cpspath - Introduced normalizedAncestorpath to normalize the ancestor path in xpath and cpspath - Added new condition in the ANTLR Grammar to capture the invalid path in the xpath - Introduced PathParsingException to replace the IllegalStateException Issue-ID: CPS-961 Change-Id: Ie10f5c6cfc466387e79eec184b933297d1d79587 Signed-off-by: Lathish <lathishbabu.ganesan@est.tech>
2022-04-08Fix Sonar Qube Violations - Recurring taskDylanB95EST1-2/+2
Fix sonar issues in CPS. - Remove Unnecessary cast to List - Immediately return expession Issue-ID: CPS-475 Change-Id: Ic3fa2f3f92784682045a780d87c6737d04f37659 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-04-08Refactoring/ Adding Tests for ValidationDylanB95EST1-3/+3
Refactored classes affected by validation Have added tests for anywhere where validation is used Have refactored the parse and sync modules validation to be validated at the public api method Issue-ID: CPS-322 Change-Id: I4989cfd03300fbdca41571d0aa2d0b96978858ba Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
2022-04-06Query based on Public CM PropertiesJosephKeenan6-8/+123
-Updated OpenAPI for new Endpoint -Will replace SQL with CPSPathQuery once investigation is complete -Functionality in place to determine if public properties match - -Added Unit and CSIT tests - small modifications may need to be made -CSIT tests enhanced to add additional nodes and tests Issue-ID: CPS-731 Change-Id: I403e603ce79c4a4a6994d51b459b5703510d5a83 Signed-off-by: DylanB95EST <dylan.byrne@est.tech> Signed-off-by: JosephKeenan <joseph.keenan@est.tech>