-
Story
-
Resolution: Done
-
Medium
-
None
Referring to https://lists.onap.org/g/onap-discuss/topic/31054983
Our requirement is simple.. We just want to retrieve the specific sets of Complexes by passing the Physical location IDs . But performing this on per object is not good idea. We were looking for solution where we can pass the physical-location-ids in bulk and retrieve the output in single response like we have an ability in Bulk API.
Referring to https://lists.onap.org/g/onap-discuss/topic/27805753 and https://wiki.onap.org/display/DW/Platform+Maturity+Testing+Plan
Alarm sending rate will be increasing from 50 alarms/s to 1000 alarms/s, depending on whether the usage of CPU or memory reaches 100% or the number of alarms lining up to for processing starts to increase continuously and stably. This is intended for indentifying the limit of Holmes' processing capability.
The Holmes testing result shows that making individual GET calls to AAI for alarm enrichment limits performance to approx 1.7 alarms per second. At up to 7 calls to AAI per alarm, that is approx 12 calls to AAI per second.
These problems are based on usage of the AAI Resources REST API, which allows for GET call to retrieve one object at a time. The AAI Resources also provides a Bulk API but it only covers PUT and DELETE scenarios.
The AAI Traversal provides a Custom Query which can be used as a bulk GET API, by specifying a list of starting nodes and omitting the query part:
https://docs.onap.org/en/casablanca/submodules/aai/aai-common.git/docs/AAI%20REST%20API%20Documentation/customQueries.html#payload
The suggestion is:
- to add a description/link from the Bulk API pages to cover the bulk GET scenario:
- to test and improve the performance of the API to have a throughput of 1000 objects per second
- clearly document the limits on the API, e.g. max number of inputs, max number of results, timeout limits, etc.
- also document performance of AAI via MSB as per UUI scenario e.g. https://lists.onap.org/g/onap-discuss/message/16616