aboutsummaryrefslogtreecommitdiffstats
path: root/aai-schema-ingest/src
AgeCommit message (Collapse)AuthorFilesLines
2019-04-11AAI-1523 Batch reformat aai-schema-ingestKeong Lim96-2201/+2294
Use maven plugins from AAI-2198 to do batch reformat of aai-schema-ingest to consistent code style. Change-Id: I9ad7aa66edcada25fbeba7658ff8f258dab9ca93 Issue-ID: AAI-1523 Signed-off-by: Keong Lim <keong.lim@huawei.com>
2019-04-09Merge "Optimize the areas where its creating extra memory"James Forsyth3-28/+140
2019-04-08Update schema service to fail to startKajur, Harish (vk250x)29-96/+325
when all of the schema failed to load so the microservice wouldn't be in a bad state and also have the microservice dictate what versions of schema they are using Issue-ID: AAI-2329 Change-Id: Ie2e6e2bb3bac37b2ad57ada613e7c0e65647b64e Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
2019-04-07Optimize the areas where its creating extra memoryKajur, Harish (vk250x)3-28/+140
After doing some analysis using profiler found that the most cases where memory is being spent when doing an GET is during the conversion from one case to another case and instead cached that during the start of the application Issue-ID: AAI-2331 Change-Id: I291d5f953d4158daca293198cf6fc7f5cf86d25d Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
2019-01-13Sync up the changes for v15Kajur, Harish (vk250x)7-44/+107
Issue-ID: AAI-1811 Change-Id: I307731ee35d8a644ae995c4b372345a7ebeca0a1 Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com> Signed-off-by: Harish Venkata Kajur <vk250x@att.com>
2018-12-05Update schema ingest library call schema serviceKajur, Harish (vk250x)96-1078/+9623
Issue-ID: AAI-1994 Change-Id: Icc9910db0371eeb8289abd4381ae1936a281a5df Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
2018-12-05Improve the performance of resoures microservice1.4.0Kajur, Harish (vk250x)6-155/+381
Currently the findSubGraph is being invoked and causing additional calls to the database by backing a tree backed vertex and slowing the performance of GET ALLs Original intention of both of them was to pre fetch depth 0, 1, and 2 at once so we don't have to get them at each depth but since that was not done right there is extra amount of time After the aai-uri migration to ensure all vertexes have the aai-uri and also to make sure they are unique across graph we don't need to traverse a vertex to find the parents to build aai-uri it was done previously when there was no aai-uri to derive the uri of a given vertex and its not necessary anymore so there would be performance improvements of vserver when there are a lot of relationships Currently the edge labels are retrieved for each vertex a and b and the performance of the GET with relationships will be propotional to the GET request and how many cousin edges it has and the more cousin edges there are the more slower the response time will be as for each cousin vertex its trying to get the edge in between so the code is modified to only go to the database for the edge label when there are multiple edge labels (cousin edges) between a and b If there are only one edge label and its a cousin vertex then we can use the edge rule to be able to figure out the edge label Improve PUT on the cloud region by modifying the getEdgesBetween method which currently was retrieving all the parent child edges between a and b and then only using the first edge The traversal itself was too complicated and was costly in terms of database retrieval and calls and optimized the code to utilize the edge information so we can modify the query to db at runtime based on the information provided so when a 10000 vservers under a tenant adding a new vserver under tenant would be slow because of the old query performance as it was taking some time there but with this optimization, its only spending at most a millisecond or 2 in that method Also noticed that when a PUT operation takes place, the method calls the related objects to create a dmaap event which was in turn calling the findParents and actually utilizing the parents to create the dmaap event and would spend quite a lot of time here because of the expensive call of the findParents in this case we need those vertexes So optimized the code so based on a given vertex, we have the aai-uri and the newly added metadata uriTemplate to break the aai-uri into its parent aai-uri and grand parent aai-uri and so forth With this breakdown, we can get the list of aai-uris which are parents, grandparents and then use the aai-uri to look them up which is O(1) lookup time due to the fact they are unique indexes The time it takes when doing a traversal to find the parents is propotional to the number of edges but this will be optimistic Another area which was improved was the json path execution of the edge rules so when the edge rules get loaded into memory it creates a document object, it utilizes the jsonpath to query information about the edge rules but the only thing here is each time it gets called the query gets invoked and uses jsonpath to retrieve the edge rules when we can cached them based on the filter so that the user executed and if the filter is the same as before, the expected edge rules will return the same Too much time was spent making the query and retrieving and building the edgerules So a cache is a perfect way to optimize this part Issue-ID: AAI-1987 Change-Id: Ieb8237de3fd31136ceac14bf4a8216a7ab3b7179 Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
2018-09-11AAI-1523 checkstyle warnings for aai-schema-ingestKeong Lim34-1169/+1169
Issue-ID: AAI-1523 re-indent code with spaces to clean up some checkstyle warnings for aai-schema-ingest (part of 24k lines of output) Change-Id: I1d3785fcbfa9cc53680129506daa2c392950de31 Signed-off-by: Keong Lim <keong.lim@huawei.com>
2018-09-06Sonar fixes in EdgeRuleQuery.javaasgar1-256/+261
Change-Id: I46029a19b3f495bebdf714b26c72739355dda8e8 Issue-ID: AAI-1559 Signed-off-by: Mohamed Asgar Samiulla <sammoham@in.ibm.com>
2018-08-12Integrate aai-schema-ingest library into aai-coreKajur, Harish (vk250x)88-571/+11527
Integrate the aai-core into using the aai-schema-ingest library to be agnostic to the schema changes Remove any references to aai-schema dependency in aai-core Reorder the components so the aai-schema-ingest is first installed Moved the edge rules to the aai-schema as they are linked to schema Rework the generation of the aai-schema to using aai-schema-ingest library Also remove the yaml and html folders as they get generated on the fly So when maven pushes the aai-schema jar, the jar contains the generated yaml, html and xsd files at runtime due to the gerrit limit of filesize Issue-ID: AAI-1455 Change-Id: I87ecd9eb2fc96a09d3a6399955637674f6e7fb21 Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
2018-06-29Refactor of EdgeIngestorWiktor Garbarek1-6/+0
Removed unusued imports Change-Id: I84984a566d339a1b366fa14eb387b21d94c14a34 Issue-ID: AAI-1347 Signed-off-by: Wiktor Garbarek <wiktor.garbarek@nokia.com>
2018-03-29added schema validation toolsThreefoot, Jane (jt6620)71-135/+3593
Issue-ID: AAI-879 Change-Id: I028547c97450372252b76286a8b10f4dbed4d2bf Signed-off-by: Threefoot, Jane (jt6620) <jt6620@att.com>
2018-03-22Merge "Update the license for 2017-2018 license"James Forsyth27-143/+67
2018-03-22Update the license for 2017-2018 licenseKajur, Harish (vk250x)27-143/+67
Issue-ID: AAI-856 Change-Id: I6711ff48314133abd7d03ea4b73a4f55606442bb Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
2018-03-15schemaIngest file no longer mandatory on classpathThreefoot, Jane (jt6620)1-1/+1
Fixed bug where users had to have schemaIngest.properties on the classpath even if they were using schemaIngestPropLoc instead. Issue-ID: AAI-887 Change-Id: Id8f15871f945d0a575203f7c3ce0679b6dbb2242 Signed-off-by: Threefoot, Jane (jt6620) <jt6620@att.com>
2018-03-15added new aai-schema-ingest libraryThreefoot, Jane (jt6620)42-0/+3252
New, lightweight, configurable library for OXM and edge rules json ingest. Allows for broken-up OXM and json for increased model-driven capabilities. Issue-ID: AAI-875 Change-Id: I987c7dc2ad9a68ef3ccaac8da8d3b5b0205dc264 Signed-off-by: Threefoot, Jane (jt6620) <jt6620@att.com>