When using getEvents, I am not able to gather over 10000 results. Also, if there are more than 10000 events in the query, the query fails but appears to cause increased memory utilization on the tomcat process.
Why?
The example in the docs shows:
<?xml version="1.0" encoding="UTF-8"?>
<rs:get-event-request throttlesize="10"
xmlns:rs="http://www.ca.com/spectrum/restful/schema/request"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ca.com/spectrum/restful/schema/request ../../../xsd/Request.xsd ">
<rs:get-events-filter start-time="1730494751000" end-time="1730816775000" subcomponents-events="false" exclude-events="0x10005,0x10219,0x10706"/>
<rs:requested-attribute id="0x11f56"/> <!--Alarm Severity -->
<rs:requested-attribute id="0x11f4e"/> <!-- Created On -->
<rs:requested-attribute id="0x129fa"/> <!-- MODEL_HANDLE -->
<rs:requested-attribute id="0x1006e"/> <!-- Name -->
<rs:requested-attribute id="0x4820007"/> <!-- Event -->
<rs:requested-attribute id="0x11fb9"/> <!-- Created By -->
<rs:requested-attribute id="0x482001b"/> <!--Alarm Cleared On -->
<rs:requested-attribute id="0x482001c"/> <!--Alarm Cleared By -->
<rs:requested-attribute id="0x10000"/> <!-- Model type Name -->
<rs:requested-attribute id="0x11fb8"/> <!-- Event Type -->
<rs:requested-attribute id="0x12c0a"/> <!-- Event Precedence -->
<!-- Models of Interest -->
<rs:target-models>
<rs:model mh="0x101031f"/>
</rs:target-models>
<rs:landscape id="0x1000000"/>
</rs:get-event-request>
Limitations
1. The getEvents REST query is limited to a result set of 10000 events out of the box. If you need to increase that, edit the $SPECROOT/SS/DDM/.configrc entry for record_search_limit=30000.
When you hit this limit in your query, it will fail and will essentially leave a pointer open which consumes tomcat memory.
2. The getEvents REST query is limited to a 7 day window. If you try to utilize a timeframe greater than 7 days it will not work:
"The difference between end time and start time should be less than 7 days "/>
To prevent the memory consumption caused by the limit, you need to set a smaller time frame or reduce the record pull by other means (ie. additional filtering).