Summary: 20 instances, 20 unique Text Count // TODO: Keeping query validation simple for now, only term aggregations have full support for the "group by" on the 1 // TODO: Can refactor this method to use Sets instead which can cleanup some of the categorization logic (like getting completed alerts) 1 // TODO: Remove "AmazonES_all_access" role? 1 // TODO: Can this be updated to just use 'Instant.now()'? 1 // TODO: Can change the parameters to use ctx: BucketLevelTriggerExecutionContext instead of monitor/trigger and 1 val bucket: Map? // TODO: Should reduce contents to only top-level to not include sub-aggs here 1 // TODO: This is only used to retrieve the retryCause, could instead fetch it from the bulkResponse iteration below 1 // TODO: Check how this behaves during rolling upgrade/multi-version cluster 1 // TODO: Update BucketLevelTriggerRunResult.alertError() to retrieve error based on the first failed Action 1 // TODO: What if the failure cause was not TOO_MANY_REQUESTS, should these be saved and logged? 1 * TODO: Deprecate API for a set of new APIs that will support this APIs use cases 1 // TODO: This is largely a duplicate of runAction above for BucketLevelTriggerExecutionContext for now. 1 // TODO: This method has grown very large with all the business logic that has been added. 1 // TODO test this part by passing sub-aggregation path 1 // TODO: Since a composite aggregation is being used for the input query, the total bucket count cannot be determined. 1 // TODO: Should triggerResult's aggregationResultBucket be a list? If not, getCategorizedAlertsForBucketLevelMonitor can 1 // TODO: If/when multiple input queries are supported for Bucket-Level Monitor execution, aggTriggerAfterKeys will 1 // TODO: Figure out a way to use SearchTemplateRequest without bringing in the entire TransportClient 1 // TODO: can we use one instance of the script for all buckets? it should be stateless? 1 // TODO: This should be limited based on a circuit breaker that limits Alerts 1