aboutsummaryrefslogtreecommitdiffstats
path: root/cps-ri
AgeCommit message (Collapse)AuthorFilesLines
2024-11-26Don't handle root xpath in getFragmentEntitydanielhanrahan3-18/+5
getFragmentEntity is an internal method only used for resovling parent xpaths. The root xpath handling is never reachable. - Remove root xpath handling in getFragmentEntity - Clean up unneeded FragmentRepository code Issue-ID: CPS-2511 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I910065bdb2e7c5fbb7c67af87f3f68af6c0fd4e0
2024-11-25CpsDataPersistenceService refactoringdanielhanrahan1-197/+174
- Extract common code to reduce duplication. - Move private methods below public methods, and move private static methods to bottom of file. - Note some private methods are left in-place due to checkstyle rules (method overloads belong together). Issue-ID: CPS-2365 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I088a5340e315d55aaf427444bdbfdcadf918464a
2024-11-18Test to highlight ModuleSetTag InefficienciesToineSiebelink1-0/+3
- Add (micrometer) instrumentation to expose inefficiencies - Add test config for micrometer - Add setup methods in base to create many cm handles - Set module sync parallelism to 2 for testing - Add clean up methods for hazelcast related tests - added test to show inefficiencies - POC 1 use hazelcast set to prevent multiple threads working on same ModuleSetTag - POC 2 'cache' module set tags per thread to prevent DB looks ups - Main inefficiency left: create schemaset for EACH cm Handled even if same tag. No easy PoC... Change-Id: Idf46b44c475a24727dd7084bb613459f4c29be55 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-11-08Add index to yang_resource for faster registrationdanielhanrahan2-0/+33
This doubles registration speed by adding a DB index for yang resource module_name and revision. Issue-ID: CPS-2478 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I747ac3c8d4a524082b08ab44417e913b163207ce
2024-10-17Release Stage 7 for 3.5.4seanbeirne1-1/+1
Issue-ID: CPS-2457 Change-Id: Id9a267c587f16f3fb5edb558b33cd0003864ed93 Signed-off-by: seanbeirne <sean.beirne@est.tech>
2024-10-15Added additional loggingsourabh_sourabh1-0/+16
- Added logging for non existing xpath while updating data notes and its decendants. Issue-ID: CPS-2403 Change-Id: I1ecaf2aed77aec8d266f6a758fe80ee96717d9c7 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-10-08Merge "Policy Executor: handle errors, part 2 (fighting between IntelliJ and ↵Sourabh Sourabh2-0/+7
Checkstyle best practices)"
2024-10-04Bump CPS to 3.5.4-SNAPSHOTmpriyank1-1/+1
- bump cps to 3.5.4-SNAPSHOT - updated release notes Issue-ID: CPS-2434 Change-Id: I3d5e6f37711bb29b61b598cc5af57ecfdc35cbba Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-10-03[BUG] Fix memory leak related to using arrays in Hibernatedanielhanrahan7-83/+59
The use of arrays like String[] instead of Collection<String> in JpaRepository methods is causing a memory leak, most likely due to a bug in the hypersistence-utils dependency which provides the feature. Note code using arrays in JDBC (via jdbcTemplate) is not affected. This patch removes most uses of arrays in Java, except one needed for FragmentPrefetchRepository using JDBC setArray(), which is safe. Issue-ID: CPS-2430 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I94f8c3d4c8c32ebe0978c08d3226a196a95bf3b9
2024-10-03Policy Executor: handle errors, part 2ToineSiebelink2-0/+7
(fighting between IntelliJ and Checkstyle best practices) - non-2xx responses are processed using web client exceptions - handle unknown host exception - upgraded spotbugs (checkstyle and related mvn plugin) - fixed some small spotbugs due to upgrade - added commented instructions in docker compose to enable debugging - added some environment variables for policy executor configuration - extract out Sleeper in stub service to achieve 100% coverage - added cause to Policy Executor exceptions where applicable - ignored (new) spotbug rule about catch NPE because of issue in 3pp - ignored (new) spotbug rule about \n in string due to multiline string block Issue-ID: CPS-2412 Change-Id: I6835a73320c436cbeea12cc7a06f15899eec7bf1 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-09-17Refactored cps-ri package structureleventecsanyi38-259/+258
- fixed import order and moved package structure Issue-ID: CPS-2293 Change-Id: Ie2f9f057f261577054530feee7480850ba4b41e1 Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2024-09-06Refactor FragmentQueryBuilderdanielhanrahan1-79/+89
This is a refactoring of FragmentQueryBuilder, there are no functional changes. This refactoring is needed before main patch of CPS-2365. Issue-ID: CPS-2365 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I648616159719e084ba0e7cb4b09649cd17560cab
2024-08-31[Cps Path Parser] Refactoring leaf conditionsdanielhanrahan1-11/+9
Instead of DataLeaf and ComparativeOperators classes, we more simply have LeafConditions class with all info. Issue-ID: CPS-2365 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I8fd18bb56b8ed9d26a3f9d36f487d00a9274c8bc
2024-08-27Cleanup unused yang models from CPS coredanielhanrahan5-356/+0
Yang models and generated CSVs are no longer used in CPS liquibase, rather Inventory model loader does this. Issue-ID: CPS-2382 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I0944c3778716450a88355c669ac806fd07b85193
2024-08-21Bump CPS to 3.5.3-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.5.3-SNAPSHOT - updated the release notes and prepared for the next release Issue-ID: CPS-2374 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I60ea5f5864f5818d1ed5078e375cf07b8d713dde
2024-08-13CPS-NCMP: Slow cmHandle registration when we use moduleSetTag, alternateId ↵sourabh_sourabh4-11/+112
and dataProducerIdentifier - Created a new repo. service for fragment table that executes a native sql query to find first ready cm handle id based on moduleset tag and then returns list of module references. - Exposed a new interface into module service that is used by module sync service to get list of midule refs by module set tag. Issue-ID: CPS-2353 Change-Id: I438dbd1ed37c1ff4e15f792e93a095aa604120bc Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-07-15Bump CPS to 3.5.2 Snapshotmpriyank1-1/+1
- bump CPS to 3.5.2-SNAPSHOT - updated the release notes and prepared for the next release Issue-ID: CPS-2318 Change-Id: I584faf6218e60ad62e32ef8c3cb0deb4047149a2 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-06-25Fix incorrect use of getAnchors(dataspace, schemasets)danielhanrahan1-7/+16
There is an issue in a method deleteDataNodes(dataspace, anchors) where it doesn't send data update events. This is because it fetches anchors using a method getAnchors(dataspace, schemaSetNames), when it needs to fetch anchors by name: getAnchors(dataspace, anchorNames) Changes: - Rename getAnchors method using schemasets to getAnchorsBySchemaSetNames - Add a method getAnchors(dataspace, anchorNames) - Update test of deleteDataNodes method using getAnchors so it checks that data update events are sent Issue-ID: CPS-2254 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I55fe853f0a9278a66a5724bf4cf2723b0e2fbc8b
2024-06-20Bump CPS version to 3.5.1-SNAPSHOTmpriyank1-1/+1
- bump cps version to 3.5.1-SNAPSHOT - updated release notes to make it ready for the next release Issue-ID: CPS-2283 Change-Id: I242cae7c95a87c1a9e225cce3eb7b36097f1e5ba Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-05-15Bump CPS to 3.5.0-SNAPSHOTmpriyank1-1/+1
- bump cps to 3.5.0-SNAPSHOT Issue-ID: CPS-2228 Change-Id: I8a6d7e702b557d5b90dd384bbe429de4958ef77f Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-05-14CPS Bump to 3.4.10-SNAPSHOTmpriyank1-1/+1
- bumping CPS to 3.4.10-SNAPSHOT version Issue-ID: CPS-2221 Change-Id: I8513582791078762bfb9d828966028c233e031db Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-05-01Bump CPS versiondanielhanrahan1-1/+1
- bump cps to 3.4.9-SNAPSHOT - also updated the release notes Issue-ID: CPS-2205 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ifd7feb413baac30e3cbbdf2aeaac5fbb5ae2e463
2024-04-26Faster module searches (CPS-2190 #3)danielhanrahan2-12/+11
This greatly improves performance of module searches by eliminating unneeded SQL queries via Hibernate lazy fetching. Issue-ID: CPS-2190 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ie9e65017d0027366456f1741cc37b10679317b25
2024-04-25[BUG] Remove slow validation check during module search (CPS-2190 #2)danielhanrahan2-56/+1
The check for existing modules is extremely slow, being dependent on the file sizes of the Yang modules being queries. The validation check is also completely unnecessary, since it simply ignores any exceptions and returns an empty set, which the main logic does implicitly. (The Dataspace check is also not needed, as the NCMP dataspace is guaranteed to exist.) Issue-ID: CPS-2190 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I329c1f8aac3f50bda0333e6c9c686f47af2e009f
2024-03-29Bump CPS versionmpriyank1-1/+1
- bump cps to 3.4.8-SNAPSHOT - also updated the release notes Issue-ID: CPS-2168 Change-Id: Iee7f1e2febbf28b0d5a2855d3128d9eb8bb3c490 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-03-29Uplift Spring boot 3.2.4emaclee2-10/+5
- uplifted spring boot from 3.1.2 to 3.2.4 - removed redundant dependencies - upgraded relevant dependencies - use of @Bean(some_name) is give a specific bean name - using @Bean(some_name) with @Qualifier so on the injection point to specify which bean to actually inject, this is used as we deal with multiple beans of the same type. Issue-ID: CPS-2101 Change-Id: I64d5bf567b9eb03fb39034a46528d0160b332715 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
2024-03-26Condense Liquibase stepsdavid.mcweeney45-8454/+239
Change-Id: I1493f49bb93c359df3ff7d4f928f9a94fb8b2604 Signed-off-by: david.mcweeney <david.mcweeney@est.tech> Issue-ID: CPS-2061
2024-02-29Bump CPS to 3.4.7-SNAPSHOTmpriyank1-1/+1
- bump cps to 3.4.7-snapshot - updated the relese notes Issue-ID: CPS-2135 Change-Id: Ib166ebae2e3de9a727b3d0d4d21832c8858f4108 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-02-28Revert Spring Boot Upliftmpriyank2-4/+3
- reverting back to spring 3.1.2 - manual changes to revert as other apps not fully ready for the delivery Issue-ID: CPS-2133 Change-Id: I670b67916fa4a5d4e5bced6548b7fcd5ee12e855 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-02-27Bump CPS to 3.4.6-SNAPSHOTmpriyank1-1/+1
- bumping CPS to 3.4.6-SNAPSHOT - updated the release notes Issue-ID: CPS-2124 Change-Id: Id28af9340da9c1ce118b2122e97b8717860c7932 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-02-26Merge "Uplift Spring Boot to 3.2.2"Priyank Maheshwari2-3/+4
2024-02-23Bump CPS to 3.4.5-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.4.5-SNAPSHOT and update the docs Issue-ID: CPS-2120 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ia2ea81b40ec19b87d3b25359fbb25ffdcc3285dd
2024-02-22Uplift Spring Boot to 3.2.2waqas.ikram2-3/+4
- Upgraded hypersistence-utils-hibernate-60 to hypersistence-utils-hibernate-63 - Introduced @Qualifier annotations where needed Issue-ID: CPS-2101 Change-Id: I8303592ed91584deb6ca5cd4e49800210b6ea989 Signed-off-by: waqas.ikram <waqas.ikram@est.tech>
2024-02-14Faster absolute xpath query using parent path lookupdanielhanrahan1-6/+27
Issue-ID: CPS-2087 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I62b452f34f08a32a6d80671c7af560fbceec1285
2024-02-07Bump CPS to 3.4.4-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.4.4-SNAPSHOT and update the docs Issue-ID: CPS-2077 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I1658c83642c8e64903f4bc03b74b6f5726d0227e
2024-02-01Extend API: Get Module Definitionshalil.cakal2-8/+33
- add query parameters: module-name and revision to OpenAPI - extend the controller method to hande the new parameters - add the new method stack to the service layer - extend the SQL query to support the new parameters - add unit and integration testwares Issue-ID: CPS-1135 Change-Id: I089ad2ad71effb58ac0ba809e9f441d6cdb59c4f Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-01-19Remove Lambda & Restructure Fileseanbeirne1-270/+272
-Removed Lambda from CompositeStateUtils -Restructured CpsDataPersistenceServiceImpl to more logical layout Issue-ID: CPS-1238 Change-Id: I09096dab474230d04b15c204cbea95a2f1285366 Signed-off-by: seanbeirne <sean.beirne@est.tech>
2024-01-11Bump CPS to 3.4.3-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.4.3-SNAPSHOT and update the docs Issue-ID: CPS-2026 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: If0036c6245ddbae2a401b712cc13e3208491ed2f
2024-01-11Merge "Enable hibernate write batching"Lee Anjella Macabuhay5-3/+75
2024-01-10Enable hibernate write batchingdanielhanrahan5-3/+75
- Implement fragment ID sequence generator with allocation size of 100 - Enable write batching for insert and update, with batch size of 100 - Write performance is over 2x faster Issue-ID: CPS-1795 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I7ebd0f834abb57c593603e2cd3fafc7e3425ab1e
2024-01-09Remove inefficient saveListElementsBatch APIdanielhanrahan1-17/+0
CpsDataService::saveListElementsBatch method is not needed as saveListElements supports saving multiple list elements in a single operation. This both simplifies implementation and greatly improves performance when saving list elements, as the Yang parser need only run once for the whole batch. - Change InventoryPersistence to save CM-handles in batches of 100 using existing CpsDataService::saveListElements method. - Remove not needed CpsDataService::saveListElementBatch. Issue-ID: CPS-2019 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I8b74dda2917e094d064b42f2c0e4d57029b90395
2024-01-04Normalize JSON attributes during updatedanielhanrahan1-9/+26
This change fixes a few issues related to JSON encoding of FragmentEntity attributes (data leaves). This significantly improves update performance in cases of partial updates. - Normalize JSON and order leaves by name when comparing data leaves during update operations. - Update performance test timings. Issue-ID: CPS-2018 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ia764a353bf96c05758827845e1358745247ee237
2023-12-20Bump CPS to 3.4.2-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.4.2-SNAPSHOT and update the docs Issue-ID: CPS-2017 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Iea58c1134bc9d25c76ef7ccc2c1d2de1c7aa0bfd
2023-12-13Introduce Schema Set upgrade methodsourabh_sourabh3-11/+58
- Incl. integration test - Prod code is changed to use new method that update yand module. - updated module resource to return multiple modules. Issue-ID: CPS-1806 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I751d9393ce78a3be9daeaff6d0252738c02115e0 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-11-09Bump CPS to 3.4.1-SNAPSHOTmpriyank1-1/+1
- bumped CPS to 3.4.1-SNAPSHOT - updated the release notes Issue-ID: CPS-1962 Change-Id: Iee9fa03a1890ac5d4c1204d0851a255c5b897720 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-11-07Bump cps to 3.4.0-SNAPSHOTsourabh_sourabh1-1/+1
- bump cps to 3.4.0-SNAPSHOT and update the docs Issue-ID: CPS-1936 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I6a99662c72b236e49abcd79201156bf0a9572de7
2023-11-06Bump cps to 3.3.10-SNAPSHOTmpriyank1-1/+1
- bump cps to 3.3.10-SNAPSHOT and update the docs Issue-ID: CPS-1954 Change-Id: Id62f59d4b3c42ea6f791fad85f0700089e3125b9 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-10-11Expose REST endpoint to update YANG schema set using moduleSetTagsourabh_sourabh2-4/+1
- Added new schema to upgrade model into component. - Modified Ncmp rest input mapper to add upgradedCmHandles attributes. - Modified cm handle state mapper to add new lock reason. - Added new method to parse and upgrade Cm handles in DmiRegistration. - YANG data converter is modified to add "module-set-tag" atribute. - Cm handle new query method is added for cps path without appending ancestor. - Modified setCompositeStateForRetry to add lock reason. - New lock reason category is added. - Existing module sync service is modified to upgrade the model "syncAndCreateOrUpgradeSchemaSetAndAnchor". - Sync util method "getModuleSyncFailedCmHandles" to modified to add another lock reason "LOCKED_MISBEHAVING". - Added new attribute "UpgradedCmHandles" into DmiPluginRegistration and DmiPluginRegistrationResponse. - New attribute "moduleSetTag" is added into NcmpServiceCmHandle. - New model "UpgradedCmHandles" is added. - New method "updateSchemaSetWithExistingModules" is added into cps module service to update cm handle with exsting model. - Code coverage is reducced to 96 percentage that would be addressed and pushed into new patch. Issue-ID: CPS-1798 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I540acb404e38fc434de87a0d959bfde710a18b03 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-09-29Fix Sonar Code Smellsmpriyank2-49/+70
- convert normal java strings to text block - feature from java 15 - handling callback for legacy events. Once the deprecated methods are removed then this would not be needed. Issue-ID: CPS-89 Change-Id: I9b537ebee2c284c8109e6cc6c8961a430ee9599d Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-09-29Update release version in release notesegernug1-1/+1
Issue-ID: CPS-1903 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: If28a979513ed48a4382e8069b8b365f4f7f35135