diff --git a/build.gradle b/build.gradle index 6cd4d25df..75707be3b 100644 --- a/build.gradle +++ b/build.gradle @@ -750,9 +750,9 @@ dependencies { implementation group: 'com.yahoo.datasketches', name: 'memory', version: '0.12.2' implementation group: 'commons-lang', name: 'commons-lang', version: '2.6' implementation group: 'org.apache.commons', name: 'commons-pool2', version: '2.10.0' - implementation 'software.amazon.randomcutforest:randomcutforest-serialization:3.0-rc3' - implementation 'software.amazon.randomcutforest:randomcutforest-parkservices:3.0-rc3' - implementation 'software.amazon.randomcutforest:randomcutforest-core:3.0-rc3' + implementation 'software.amazon.randomcutforest:randomcutforest-serialization:3.8.0' + implementation 'software.amazon.randomcutforest:randomcutforest-parkservices:3.8.0' + implementation 'software.amazon.randomcutforest:randomcutforest-core:3.8.0' // force Jackson version to avoid version conflict issue implementation "com.fasterxml.jackson.core:jackson-databind:2.14.1" diff --git a/src/main/java/org/opensearch/ad/AnomalyDetectorJobRunner.java b/src/main/java/org/opensearch/ad/AnomalyDetectorJobRunner.java index 99a3af1d2..2fe51f2d3 100644 --- a/src/main/java/org/opensearch/ad/AnomalyDetectorJobRunner.java +++ b/src/main/java/org/opensearch/ad/AnomalyDetectorJobRunner.java @@ -26,7 +26,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.index.IndexRequest; @@ -52,6 +51,7 @@ import org.opensearch.common.xcontent.XContentType; import org.opensearch.commons.InjectSecurity; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/org/opensearch/ad/AnomalyDetectorPlugin.java b/src/main/java/org/opensearch/ad/AnomalyDetectorPlugin.java index ca1e88b45..6c6dd2059 100644 --- a/src/main/java/org/opensearch/ad/AnomalyDetectorPlugin.java +++ b/src/main/java/org/opensearch/ad/AnomalyDetectorPlugin.java @@ -33,7 +33,6 @@ import org.apache.logging.log4j.Logger; import org.opensearch.SpecialPermission; import org.opensearch.action.ActionRequest; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.breaker.ADCircuitBreakerService; import org.opensearch.ad.caching.CacheProvider; import org.opensearch.ad.caching.EntityCache; @@ -174,6 +173,7 @@ import org.opensearch.common.settings.SettingsFilter; import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.OpenSearchExecutors; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.NamedWriteableRegistry; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/org/opensearch/ad/AnomalyDetectorProfileRunner.java b/src/main/java/org/opensearch/ad/AnomalyDetectorProfileRunner.java index 935124719..02989a4f9 100644 --- a/src/main/java/org/opensearch/ad/AnomalyDetectorProfileRunner.java +++ b/src/main/java/org/opensearch/ad/AnomalyDetectorProfileRunner.java @@ -29,7 +29,6 @@ import org.apache.logging.log4j.core.util.Throwables; import org.apache.logging.log4j.message.ParameterizedMessage; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; @@ -62,6 +61,7 @@ import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.search.SearchHits; diff --git a/src/main/java/org/opensearch/ad/AnomalyDetectorRunner.java b/src/main/java/org/opensearch/ad/AnomalyDetectorRunner.java index ca5df5094..6828f479a 100644 --- a/src/main/java/org/opensearch/ad/AnomalyDetectorRunner.java +++ b/src/main/java/org/opensearch/ad/AnomalyDetectorRunner.java @@ -23,7 +23,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchSecurityException; -import org.opensearch.action.ActionListener; import org.opensearch.ad.constant.CommonValue; import org.opensearch.ad.feature.FeatureManager; import org.opensearch.ad.feature.Features; @@ -37,6 +36,7 @@ import org.opensearch.ad.model.FeatureData; import org.opensearch.ad.util.MultiResponsesDelegateActionListener; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; /** * Runner to trigger an anomaly detector. diff --git a/src/main/java/org/opensearch/ad/EntityProfileRunner.java b/src/main/java/org/opensearch/ad/EntityProfileRunner.java index c73d4bf1c..00c83e175 100644 --- a/src/main/java/org/opensearch/ad/EntityProfileRunner.java +++ b/src/main/java/org/opensearch/ad/EntityProfileRunner.java @@ -23,7 +23,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.lucene.search.join.ScoreMode; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; @@ -49,6 +48,7 @@ import org.opensearch.cluster.routing.Preference; import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.index.IndexNotFoundException; diff --git a/src/main/java/org/opensearch/ad/ExecuteADResultResponseRecorder.java b/src/main/java/org/opensearch/ad/ExecuteADResultResponseRecorder.java index a9f0fc17d..414db3a70 100644 --- a/src/main/java/org/opensearch/ad/ExecuteADResultResponseRecorder.java +++ b/src/main/java/org/opensearch/ad/ExecuteADResultResponseRecorder.java @@ -21,7 +21,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.update.UpdateResponse; import org.opensearch.ad.common.exception.AnomalyDetectionException; import org.opensearch.ad.common.exception.EndRunException; @@ -48,6 +47,7 @@ import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.common.unit.TimeValue; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.search.SearchHits; import org.opensearch.threadpool.ThreadPool; diff --git a/src/main/java/org/opensearch/ad/NodeStateManager.java b/src/main/java/org/opensearch/ad/NodeStateManager.java index 9bc127889..47d09623a 100644 --- a/src/main/java/org/opensearch/ad/NodeStateManager.java +++ b/src/main/java/org/opensearch/ad/NodeStateManager.java @@ -27,7 +27,6 @@ import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; import org.apache.logging.log4j.util.Strings; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.ad.common.exception.EndRunException; @@ -46,6 +45,7 @@ import org.opensearch.common.unit.TimeValue; import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/org/opensearch/ad/ProfileUtil.java b/src/main/java/org/opensearch/ad/ProfileUtil.java index b2fc0dbea..d44125cc9 100644 --- a/src/main/java/org/opensearch/ad/ProfileUtil.java +++ b/src/main/java/org/opensearch/ad/ProfileUtil.java @@ -11,13 +11,13 @@ package org.opensearch.ad; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.ad.constant.CommonName; import org.opensearch.ad.model.AnomalyDetector; import org.opensearch.ad.model.AnomalyResult; import org.opensearch.client.Client; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.query.BoolQueryBuilder; import org.opensearch.index.query.ExistsQueryBuilder; import org.opensearch.index.query.QueryBuilders; diff --git a/src/main/java/org/opensearch/ad/caching/PriorityCache.java b/src/main/java/org/opensearch/ad/caching/PriorityCache.java index d3bacc7ec..0a5d3abf7 100644 --- a/src/main/java/org/opensearch/ad/caching/PriorityCache.java +++ b/src/main/java/org/opensearch/ad/caching/PriorityCache.java @@ -38,7 +38,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.ad.AnomalyDetectorPlugin; import org.opensearch.ad.MemoryTracker; import org.opensearch.ad.MemoryTracker.Origin; @@ -61,6 +60,7 @@ import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.Strings; import org.opensearch.threadpool.ThreadPool; diff --git a/src/main/java/org/opensearch/ad/cluster/ADClusterEventListener.java b/src/main/java/org/opensearch/ad/cluster/ADClusterEventListener.java index fd00d9c22..91594cf0f 100644 --- a/src/main/java/org/opensearch/ad/cluster/ADClusterEventListener.java +++ b/src/main/java/org/opensearch/ad/cluster/ADClusterEventListener.java @@ -15,12 +15,12 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.cluster.ClusterChangedEvent; import org.opensearch.cluster.ClusterStateListener; import org.opensearch.cluster.node.DiscoveryNodes.Delta; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.gateway.GatewayService; public class ADClusterEventListener implements ClusterStateListener { diff --git a/src/main/java/org/opensearch/ad/cluster/ADDataMigrator.java b/src/main/java/org/opensearch/ad/cluster/ADDataMigrator.java index 87559dc2e..337104735 100644 --- a/src/main/java/org/opensearch/ad/cluster/ADDataMigrator.java +++ b/src/main/java/org/opensearch/ad/cluster/ADDataMigrator.java @@ -33,7 +33,6 @@ import org.apache.logging.log4j.Logger; import org.opensearch.ExceptionsHelper; import org.opensearch.ResourceAlreadyExistsException; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.index.IndexRequest; import org.opensearch.action.search.SearchRequest; @@ -52,6 +51,7 @@ import org.opensearch.client.Client; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.index.IndexNotFoundException; diff --git a/src/main/java/org/opensearch/ad/cluster/DailyCron.java b/src/main/java/org/opensearch/ad/cluster/DailyCron.java index 889cb0a42..a5e11f3e4 100644 --- a/src/main/java/org/opensearch/ad/cluster/DailyCron.java +++ b/src/main/java/org/opensearch/ad/cluster/DailyCron.java @@ -16,11 +16,11 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.IndicesOptions; import org.opensearch.ad.constant.CommonName; import org.opensearch.ad.ml.CheckpointDao; import org.opensearch.ad.util.ClientUtil; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; import org.opensearch.index.query.QueryBuilders; import org.opensearch.index.reindex.DeleteByQueryAction; diff --git a/src/main/java/org/opensearch/ad/cluster/HashRing.java b/src/main/java/org/opensearch/ad/cluster/HashRing.java index 4d3872826..e268f4645 100644 --- a/src/main/java/org/opensearch/ad/cluster/HashRing.java +++ b/src/main/java/org/opensearch/ad/cluster/HashRing.java @@ -34,7 +34,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.cluster.node.info.NodeInfo; import org.opensearch.action.admin.cluster.node.info.NodesInfoRequest; import org.opensearch.action.admin.cluster.node.info.PluginsAndModules; @@ -52,6 +51,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.transport.TransportAddress; import org.opensearch.plugins.PluginInfo; diff --git a/src/main/java/org/opensearch/ad/cluster/HourlyCron.java b/src/main/java/org/opensearch/ad/cluster/HourlyCron.java index 4a574ecfb..ec9a5acd8 100644 --- a/src/main/java/org/opensearch/ad/cluster/HourlyCron.java +++ b/src/main/java/org/opensearch/ad/cluster/HourlyCron.java @@ -13,13 +13,13 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.FailedNodeException; import org.opensearch.ad.transport.CronAction; import org.opensearch.ad.transport.CronRequest; import org.opensearch.ad.util.DiscoveryNodeFilterer; import org.opensearch.client.Client; import org.opensearch.cluster.node.DiscoveryNode; +import org.opensearch.core.action.ActionListener; public class HourlyCron implements Runnable { private static final Logger LOG = LogManager.getLogger(HourlyCron.class); diff --git a/src/main/java/org/opensearch/ad/cluster/diskcleanup/IndexCleanup.java b/src/main/java/org/opensearch/ad/cluster/diskcleanup/IndexCleanup.java index 325361aec..02282c4ab 100644 --- a/src/main/java/org/opensearch/ad/cluster/diskcleanup/IndexCleanup.java +++ b/src/main/java/org/opensearch/ad/cluster/diskcleanup/IndexCleanup.java @@ -16,7 +16,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.indices.stats.CommonStats; import org.opensearch.action.admin.indices.stats.IndicesStatsRequest; import org.opensearch.action.admin.indices.stats.IndicesStatsResponse; @@ -26,6 +25,7 @@ import org.opensearch.client.Client; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.query.QueryBuilder; import org.opensearch.index.reindex.DeleteByQueryAction; import org.opensearch.index.reindex.DeleteByQueryRequest; diff --git a/src/main/java/org/opensearch/ad/cluster/diskcleanup/ModelCheckpointIndexRetention.java b/src/main/java/org/opensearch/ad/cluster/diskcleanup/ModelCheckpointIndexRetention.java index 33d49d80b..afac0f48f 100644 --- a/src/main/java/org/opensearch/ad/cluster/diskcleanup/ModelCheckpointIndexRetention.java +++ b/src/main/java/org/opensearch/ad/cluster/diskcleanup/ModelCheckpointIndexRetention.java @@ -16,9 +16,9 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.ad.constant.CommonName; import org.opensearch.ad.ml.CheckpointDao; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; import org.opensearch.index.query.QueryBuilders; diff --git a/src/main/java/org/opensearch/ad/feature/CompositeRetriever.java b/src/main/java/org/opensearch/ad/feature/CompositeRetriever.java index d1cc2e670..73bc93c99 100644 --- a/src/main/java/org/opensearch/ad/feature/CompositeRetriever.java +++ b/src/main/java/org/opensearch/ad/feature/CompositeRetriever.java @@ -24,7 +24,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.action.support.IndicesOptions; @@ -37,6 +36,7 @@ import org.opensearch.cluster.metadata.IndexNameExpressionResolver; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.index.IndexNotFoundException; import org.opensearch.index.query.BoolQueryBuilder; diff --git a/src/main/java/org/opensearch/ad/feature/FeatureManager.java b/src/main/java/org/opensearch/ad/feature/FeatureManager.java index f04f24926..e882d643d 100644 --- a/src/main/java/org/opensearch/ad/feature/FeatureManager.java +++ b/src/main/java/org/opensearch/ad/feature/FeatureManager.java @@ -38,7 +38,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ThreadedActionListener; import org.opensearch.ad.CleanState; import org.opensearch.ad.common.exception.EndRunException; @@ -46,6 +45,7 @@ import org.opensearch.ad.dataprocessor.Interpolator; import org.opensearch.ad.model.AnomalyDetector; import org.opensearch.ad.model.Entity; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; /** diff --git a/src/main/java/org/opensearch/ad/feature/SearchFeatureDao.java b/src/main/java/org/opensearch/ad/feature/SearchFeatureDao.java index 922226107..21f6d8e43 100644 --- a/src/main/java/org/opensearch/ad/feature/SearchFeatureDao.java +++ b/src/main/java/org/opensearch/ad/feature/SearchFeatureDao.java @@ -37,7 +37,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.ad.common.exception.AnomalyDetectionException; @@ -51,6 +50,7 @@ import org.opensearch.client.Client; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.index.query.BoolQueryBuilder; import org.opensearch.index.query.QueryBuilders; diff --git a/src/main/java/org/opensearch/ad/indices/AnomalyDetectionIndices.java b/src/main/java/org/opensearch/ad/indices/AnomalyDetectionIndices.java index 29e597d3b..03103b7e8 100644 --- a/src/main/java/org/opensearch/ad/indices/AnomalyDetectionIndices.java +++ b/src/main/java/org/opensearch/ad/indices/AnomalyDetectionIndices.java @@ -43,7 +43,6 @@ import org.apache.logging.log4j.message.ParameterizedMessage; import org.opensearch.ExceptionsHelper; import org.opensearch.ResourceAlreadyExistsException; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.cluster.state.ClusterStateRequest; import org.opensearch.action.admin.indices.alias.Alias; import org.opensearch.action.admin.indices.alias.get.GetAliasesRequest; @@ -81,6 +80,7 @@ import org.opensearch.common.xcontent.XContentHelper; import org.opensearch.common.xcontent.XContentType; import org.opensearch.commons.InjectSecurity; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.Strings; import org.opensearch.core.common.bytes.BytesArray; import org.opensearch.core.xcontent.NamedXContentRegistry; diff --git a/src/main/java/org/opensearch/ad/ml/CheckpointDao.java b/src/main/java/org/opensearch/ad/ml/CheckpointDao.java index 4ea4b70c9..f85c8ce33 100644 --- a/src/main/java/org/opensearch/ad/ml/CheckpointDao.java +++ b/src/main/java/org/opensearch/ad/ml/CheckpointDao.java @@ -37,7 +37,6 @@ import org.apache.logging.log4j.message.ParameterizedMessage; import org.opensearch.ExceptionsHelper; import org.opensearch.ResourceAlreadyExistsException; -import org.opensearch.action.ActionListener; import org.opensearch.action.bulk.BulkAction; import org.opensearch.action.bulk.BulkItemResponse; import org.opensearch.action.bulk.BulkRequest; @@ -62,6 +61,7 @@ import org.opensearch.ad.model.Entity; import org.opensearch.ad.util.ClientUtil; import org.opensearch.client.Client; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; import org.opensearch.index.query.MatchQueryBuilder; import org.opensearch.index.reindex.BulkByScrollResponse; diff --git a/src/main/java/org/opensearch/ad/ml/EntityColdStarter.java b/src/main/java/org/opensearch/ad/ml/EntityColdStarter.java index 2c9095eb8..491d86ecb 100644 --- a/src/main/java/org/opensearch/ad/ml/EntityColdStarter.java +++ b/src/main/java/org/opensearch/ad/ml/EntityColdStarter.java @@ -35,7 +35,6 @@ import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.util.Throwables; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ThreadedActionListener; import org.opensearch.ad.AnomalyDetectorPlugin; import org.opensearch.ad.CleanState; @@ -56,9 +55,11 @@ import org.opensearch.ad.settings.EnabledSetting; import org.opensearch.ad.util.ExceptionUtil; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; import com.amazon.randomcutforest.config.Precision; +import com.amazon.randomcutforest.config.TransformMethod; import com.amazon.randomcutforest.parkservices.ThresholdedRandomCutForest; /** @@ -373,17 +374,18 @@ private void trainModelFromDataSegments( // overlapping x3, x4, and only store x5, x6. .shingleSize(shingleSize) .internalShinglingEnabled(true) - .anomalyRate(1 - this.thresholdMinPvalue); + .anomalyRate(1 - this.thresholdMinPvalue) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true); if (rcfSeed > 0) { rcfBuilder.randomSeed(rcfSeed); } ThresholdedRandomCutForest trcf = new ThresholdedRandomCutForest(rcfBuilder); - while (!dataPoints.isEmpty()) { trcf.process(dataPoints.poll(), 0); } - EntityModel model = entityState.getModel(); if (model == null) { model = new EntityModel(entity, new ArrayDeque<>(), null); diff --git a/src/main/java/org/opensearch/ad/ml/ModelManager.java b/src/main/java/org/opensearch/ad/ml/ModelManager.java index db1fb44d5..91f95cb0b 100644 --- a/src/main/java/org/opensearch/ad/ml/ModelManager.java +++ b/src/main/java/org/opensearch/ad/ml/ModelManager.java @@ -32,7 +32,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.ad.DetectorModelSize; import org.opensearch.ad.MemoryTracker; import org.opensearch.ad.common.exception.ResourceNotFoundException; @@ -46,9 +45,11 @@ import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import com.amazon.randomcutforest.RandomCutForest; import com.amazon.randomcutforest.config.Precision; +import com.amazon.randomcutforest.config.TransformMethod; import com.amazon.randomcutforest.parkservices.AnomalyDescriptor; import com.amazon.randomcutforest.parkservices.ThresholdedRandomCutForest; @@ -530,6 +531,10 @@ private void trainModelForStep( .boundingBoxCacheFraction(AnomalyDetectorSettings.REAL_TIME_BOUNDING_BOX_CACHE_RATIO) .shingleSize(detector.getShingleSize()) .anomalyRate(1 - thresholdMinPvalue) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) + .internalShinglingEnabled(false) .build(); Arrays.stream(dataPoints).forEach(s -> trcf.process(s, 0)); @@ -620,6 +625,10 @@ public List getPreviewResults(double[][] dataPoints, int shi .boundingBoxCacheFraction(AnomalyDetectorSettings.BATCH_BOUNDING_BOX_CACHE_RATIO) .shingleSize(shingleSize) .anomalyRate(1 - this.thresholdMinPvalue) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) + .internalShinglingEnabled(false) .build(); return Arrays.stream(dataPoints).map(point -> { AnomalyDescriptor descriptor = trcf.process(point, 0); diff --git a/src/main/java/org/opensearch/ad/model/ADTaskAction.java b/src/main/java/org/opensearch/ad/model/ADTaskAction.java index b58b24cd5..2999ca6f9 100644 --- a/src/main/java/org/opensearch/ad/model/ADTaskAction.java +++ b/src/main/java/org/opensearch/ad/model/ADTaskAction.java @@ -11,7 +11,7 @@ package org.opensearch.ad.model; -import org.opensearch.action.ActionListener; +import org.opensearch.core.action.ActionListener; import org.opensearch.transport.TransportService; /** diff --git a/src/main/java/org/opensearch/ad/ratelimit/BatchWorker.java b/src/main/java/org/opensearch/ad/ratelimit/BatchWorker.java index bbe3ffc00..3151d5eec 100644 --- a/src/main/java/org/opensearch/ad/ratelimit/BatchWorker.java +++ b/src/main/java/org/opensearch/ad/ratelimit/BatchWorker.java @@ -18,7 +18,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ThreadedActionListener; import org.opensearch.ad.AnomalyDetectorPlugin; import org.opensearch.ad.NodeStateManager; @@ -26,6 +25,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; /** diff --git a/src/main/java/org/opensearch/ad/ratelimit/CheckpointReadWorker.java b/src/main/java/org/opensearch/ad/ratelimit/CheckpointReadWorker.java index 694c92b51..911476095 100644 --- a/src/main/java/org/opensearch/ad/ratelimit/CheckpointReadWorker.java +++ b/src/main/java/org/opensearch/ad/ratelimit/CheckpointReadWorker.java @@ -29,7 +29,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.MultiGetItemResponse; import org.opensearch.action.get.MultiGetRequest; import org.opensearch.action.get.MultiGetResponse; @@ -56,6 +55,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; import org.opensearch.threadpool.ThreadPool; diff --git a/src/main/java/org/opensearch/ad/ratelimit/CheckpointWriteWorker.java b/src/main/java/org/opensearch/ad/ratelimit/CheckpointWriteWorker.java index fc7fc0a07..51751dccc 100644 --- a/src/main/java/org/opensearch/ad/ratelimit/CheckpointWriteWorker.java +++ b/src/main/java/org/opensearch/ad/ratelimit/CheckpointWriteWorker.java @@ -26,7 +26,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.action.bulk.BulkItemResponse; import org.opensearch.action.bulk.BulkRequest; import org.opensearch.action.bulk.BulkResponse; @@ -41,6 +40,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.Strings; import org.opensearch.threadpool.ThreadPool; diff --git a/src/main/java/org/opensearch/ad/ratelimit/EntityColdStartWorker.java b/src/main/java/org/opensearch/ad/ratelimit/EntityColdStartWorker.java index 8702fafcc..214e48abb 100644 --- a/src/main/java/org/opensearch/ad/ratelimit/EntityColdStartWorker.java +++ b/src/main/java/org/opensearch/ad/ratelimit/EntityColdStartWorker.java @@ -23,7 +23,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.ad.NodeStateManager; import org.opensearch.ad.breaker.ADCircuitBreakerService; import org.opensearch.ad.caching.CacheProvider; @@ -36,6 +35,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; /** diff --git a/src/main/java/org/opensearch/ad/ratelimit/ResultWriteWorker.java b/src/main/java/org/opensearch/ad/ratelimit/ResultWriteWorker.java index 9218687ce..6ac1a5107 100644 --- a/src/main/java/org/opensearch/ad/ratelimit/ResultWriteWorker.java +++ b/src/main/java/org/opensearch/ad/ratelimit/ResultWriteWorker.java @@ -23,7 +23,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.action.DocWriteRequest; import org.opensearch.action.index.IndexRequest; import org.opensearch.ad.NodeStateManager; @@ -39,6 +38,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.common.xcontent.XContentHelper; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.core.xcontent.MediaType; import org.opensearch.core.xcontent.NamedXContentRegistry; diff --git a/src/main/java/org/opensearch/ad/ratelimit/SingleRequestWorker.java b/src/main/java/org/opensearch/ad/ratelimit/SingleRequestWorker.java index 028a0643f..478799845 100644 --- a/src/main/java/org/opensearch/ad/ratelimit/SingleRequestWorker.java +++ b/src/main/java/org/opensearch/ad/ratelimit/SingleRequestWorker.java @@ -19,12 +19,12 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.ad.NodeStateManager; import org.opensearch.ad.breaker.ADCircuitBreakerService; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; public abstract class SingleRequestWorker extends ConcurrentWorker { diff --git a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java index d2d0beb7e..8fc65c6aa 100644 --- a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java @@ -18,13 +18,13 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.IndicesOptions; import org.opensearch.ad.AnomalyDetectorPlugin; import org.opensearch.ad.constant.CommonErrorMessages; import org.opensearch.ad.settings.EnabledSetting; import org.opensearch.ad.transport.DeleteAnomalyResultsAction; import org.opensearch.client.node.NodeClient; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/main/java/org/opensearch/ad/rest/handler/AbstractAnomalyDetectorActionHandler.java b/src/main/java/org/opensearch/ad/rest/handler/AbstractAnomalyDetectorActionHandler.java index 2d6740ef4..1263296c7 100644 --- a/src/main/java/org/opensearch/ad/rest/handler/AbstractAnomalyDetectorActionHandler.java +++ b/src/main/java/org/opensearch/ad/rest/handler/AbstractAnomalyDetectorActionHandler.java @@ -38,8 +38,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; -import org.opensearch.action.ActionResponse; import org.opensearch.action.admin.indices.create.CreateIndexResponse; import org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsAction; import org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsRequest; @@ -78,6 +76,8 @@ import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.common.xcontent.XContentFactory; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/org/opensearch/ad/rest/handler/AnomalyDetectorActionHandler.java b/src/main/java/org/opensearch/ad/rest/handler/AnomalyDetectorActionHandler.java index 9dadf68fd..e87567ac8 100644 --- a/src/main/java/org/opensearch/ad/rest/handler/AnomalyDetectorActionHandler.java +++ b/src/main/java/org/opensearch/ad/rest/handler/AnomalyDetectorActionHandler.java @@ -19,13 +19,13 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.ad.model.AnomalyDetectorJob; import org.opensearch.ad.util.RestHandlerUtils; import org.opensearch.client.Client; import org.opensearch.cluster.service.ClusterService; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorActionHandler.java b/src/main/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorActionHandler.java index 155d2c562..cec58520c 100644 --- a/src/main/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorActionHandler.java +++ b/src/main/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorActionHandler.java @@ -11,7 +11,6 @@ package org.opensearch.ad.rest.handler; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.WriteRequest; import org.opensearch.ad.feature.SearchFeatureDao; import org.opensearch.ad.indices.AnomalyDetectionIndices; @@ -24,6 +23,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.rest.RestRequest; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorJobActionHandler.java b/src/main/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorJobActionHandler.java index 13b04f52b..d6b873ef2 100644 --- a/src/main/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorJobActionHandler.java +++ b/src/main/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorJobActionHandler.java @@ -25,7 +25,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.index.IndexRequest; @@ -48,6 +47,7 @@ import org.opensearch.client.Client; import org.opensearch.common.unit.TimeValue; import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/org/opensearch/ad/rest/handler/ModelValidationActionHandler.java b/src/main/java/org/opensearch/ad/rest/handler/ModelValidationActionHandler.java index 2dcbed655..ee6d52a69 100644 --- a/src/main/java/org/opensearch/ad/rest/handler/ModelValidationActionHandler.java +++ b/src/main/java/org/opensearch/ad/rest/handler/ModelValidationActionHandler.java @@ -31,7 +31,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.ad.common.exception.ADValidationException; @@ -55,6 +54,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.index.query.BoolQueryBuilder; diff --git a/src/main/java/org/opensearch/ad/rest/handler/ValidateAnomalyDetectorActionHandler.java b/src/main/java/org/opensearch/ad/rest/handler/ValidateAnomalyDetectorActionHandler.java index a51eccd03..d3c4c5e64 100644 --- a/src/main/java/org/opensearch/ad/rest/handler/ValidateAnomalyDetectorActionHandler.java +++ b/src/main/java/org/opensearch/ad/rest/handler/ValidateAnomalyDetectorActionHandler.java @@ -13,7 +13,6 @@ import java.time.Clock; -import org.opensearch.action.ActionListener; import org.opensearch.ad.feature.SearchFeatureDao; import org.opensearch.ad.indices.AnomalyDetectionIndices; import org.opensearch.ad.model.AnomalyDetector; @@ -24,6 +23,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.rest.RestRequest; diff --git a/src/main/java/org/opensearch/ad/task/ADBatchTaskCache.java b/src/main/java/org/opensearch/ad/task/ADBatchTaskCache.java index 5e996c013..646433693 100644 --- a/src/main/java/org/opensearch/ad/task/ADBatchTaskCache.java +++ b/src/main/java/org/opensearch/ad/task/ADBatchTaskCache.java @@ -30,6 +30,7 @@ import org.opensearch.ad.settings.AnomalyDetectorSettings; import com.amazon.randomcutforest.config.Precision; +import com.amazon.randomcutforest.config.TransformMethod; import com.amazon.randomcutforest.parkservices.ThresholdedRandomCutForest; /** @@ -80,6 +81,10 @@ protected ADBatchTaskCache(ADTask adTask) { .boundingBoxCacheFraction(AnomalyDetectorSettings.BATCH_BOUNDING_BOX_CACHE_RATIO) .shingleSize(shingleSize) .anomalyRate(1 - AnomalyDetectorSettings.THRESHOLD_MIN_PVALUE) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) + .internalShinglingEnabled(false) .build(); this.thresholdModelTrained = false; diff --git a/src/main/java/org/opensearch/ad/task/ADBatchTaskRunner.java b/src/main/java/org/opensearch/ad/task/ADBatchTaskRunner.java index 0c1516387..e8a166566 100644 --- a/src/main/java/org/opensearch/ad/task/ADBatchTaskRunner.java +++ b/src/main/java/org/opensearch/ad/task/ADBatchTaskRunner.java @@ -47,7 +47,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionListenerResponseHandler; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; @@ -98,6 +97,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; import org.opensearch.commons.InjectSecurity; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.query.BoolQueryBuilder; import org.opensearch.index.query.RangeQueryBuilder; import org.opensearch.index.query.TermQueryBuilder; diff --git a/src/main/java/org/opensearch/ad/task/ADTaskCacheManager.java b/src/main/java/org/opensearch/ad/task/ADTaskCacheManager.java index 965f65d05..6e5d7a5ed 100644 --- a/src/main/java/org/opensearch/ad/task/ADTaskCacheManager.java +++ b/src/main/java/org/opensearch/ad/task/ADTaskCacheManager.java @@ -35,7 +35,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.ad.MemoryTracker; import org.opensearch.ad.common.exception.DuplicateTaskException; import org.opensearch.ad.common.exception.LimitExceededException; @@ -47,6 +46,7 @@ import org.opensearch.ad.settings.AnomalyDetectorSettings; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.transport.TransportService; import com.amazon.randomcutforest.RandomCutForest; diff --git a/src/main/java/org/opensearch/ad/task/ADTaskManager.java b/src/main/java/org/opensearch/ad/task/ADTaskManager.java index 787f271bb..ce0a0b838 100644 --- a/src/main/java/org/opensearch/ad/task/ADTaskManager.java +++ b/src/main/java/org/opensearch/ad/task/ADTaskManager.java @@ -87,7 +87,6 @@ import org.opensearch.OpenSearchStatusException; import org.opensearch.ResourceAlreadyExistsException; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionListenerResponseHandler; import org.opensearch.action.bulk.BulkAction; import org.opensearch.action.bulk.BulkItemResponse; @@ -148,6 +147,7 @@ import org.opensearch.common.xcontent.XContentFactory; import org.opensearch.common.xcontent.XContentType; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; diff --git a/src/main/java/org/opensearch/ad/transport/ADBatchAnomalyResultResponse.java b/src/main/java/org/opensearch/ad/transport/ADBatchAnomalyResultResponse.java index 608b53aa9..e4f911531 100644 --- a/src/main/java/org/opensearch/ad/transport/ADBatchAnomalyResultResponse.java +++ b/src/main/java/org/opensearch/ad/transport/ADBatchAnomalyResultResponse.java @@ -13,7 +13,7 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; diff --git a/src/main/java/org/opensearch/ad/transport/ADBatchAnomalyResultTransportAction.java b/src/main/java/org/opensearch/ad/transport/ADBatchAnomalyResultTransportAction.java index 9105ece61..cae2df385 100644 --- a/src/main/java/org/opensearch/ad/transport/ADBatchAnomalyResultTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/ADBatchAnomalyResultTransportAction.java @@ -11,11 +11,11 @@ package org.opensearch.ad.transport; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.task.ADBatchTaskRunner; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/ADBatchTaskRemoteExecutionTransportAction.java b/src/main/java/org/opensearch/ad/transport/ADBatchTaskRemoteExecutionTransportAction.java index 736262865..f5815ac1b 100644 --- a/src/main/java/org/opensearch/ad/transport/ADBatchTaskRemoteExecutionTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/ADBatchTaskRemoteExecutionTransportAction.java @@ -11,11 +11,11 @@ package org.opensearch.ad.transport; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.task.ADBatchTaskRunner; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/ADResultBulkResponse.java b/src/main/java/org/opensearch/ad/transport/ADResultBulkResponse.java index 8206d908e..70768311c 100644 --- a/src/main/java/org/opensearch/ad/transport/ADResultBulkResponse.java +++ b/src/main/java/org/opensearch/ad/transport/ADResultBulkResponse.java @@ -16,8 +16,8 @@ import java.util.List; import java.util.Optional; -import org.opensearch.action.ActionResponse; import org.opensearch.action.index.IndexRequest; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; diff --git a/src/main/java/org/opensearch/ad/transport/ADResultBulkTransportAction.java b/src/main/java/org/opensearch/ad/transport/ADResultBulkTransportAction.java index aebb2293c..ac9ca269c 100644 --- a/src/main/java/org/opensearch/ad/transport/ADResultBulkTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/ADResultBulkTransportAction.java @@ -22,7 +22,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.bulk.BulkAction; import org.opensearch.action.bulk.BulkRequest; import org.opensearch.action.index.IndexRequest; @@ -37,6 +36,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.index.IndexingPressure; import org.opensearch.tasks.Task; diff --git a/src/main/java/org/opensearch/ad/transport/AnomalyDetectorJobResponse.java b/src/main/java/org/opensearch/ad/transport/AnomalyDetectorJobResponse.java index 220908ca4..508762cf1 100644 --- a/src/main/java/org/opensearch/ad/transport/AnomalyDetectorJobResponse.java +++ b/src/main/java/org/opensearch/ad/transport/AnomalyDetectorJobResponse.java @@ -13,8 +13,8 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.util.RestHandlerUtils; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.rest.RestStatus; diff --git a/src/main/java/org/opensearch/ad/transport/AnomalyDetectorJobTransportAction.java b/src/main/java/org/opensearch/ad/transport/AnomalyDetectorJobTransportAction.java index d88e4e839..fe2307437 100644 --- a/src/main/java/org/opensearch/ad/transport/AnomalyDetectorJobTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/AnomalyDetectorJobTransportAction.java @@ -21,7 +21,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.ExecuteADResultResponseRecorder; @@ -37,6 +36,7 @@ import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/AnomalyResultResponse.java b/src/main/java/org/opensearch/ad/transport/AnomalyResultResponse.java index b995bea9b..4b844ac27 100644 --- a/src/main/java/org/opensearch/ad/transport/AnomalyResultResponse.java +++ b/src/main/java/org/opensearch/ad/transport/AnomalyResultResponse.java @@ -19,10 +19,10 @@ import java.util.ArrayList; import java.util.List; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.model.AnomalyResult; import org.opensearch.ad.model.FeatureData; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.InputStreamStreamInput; import org.opensearch.core.common.io.stream.OutputStreamStreamOutput; import org.opensearch.core.common.io.stream.StreamInput; diff --git a/src/main/java/org/opensearch/ad/transport/AnomalyResultTransportAction.java b/src/main/java/org/opensearch/ad/transport/AnomalyResultTransportAction.java index 3161a41c1..ef030d219 100644 --- a/src/main/java/org/opensearch/ad/transport/AnomalyResultTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/AnomalyResultTransportAction.java @@ -33,7 +33,6 @@ import org.apache.logging.log4j.message.ParameterizedMessage; import org.opensearch.ExceptionsHelper; import org.opensearch.OpenSearchTimeoutException; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionListenerResponseHandler; import org.opensearch.action.ActionRequest; import org.opensearch.action.search.SearchPhaseExecutionException; @@ -86,6 +85,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.transport.NetworkExceptionHelper; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.NotSerializableExceptionWrapper; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; diff --git a/src/main/java/org/opensearch/ad/transport/CronTransportAction.java b/src/main/java/org/opensearch/ad/transport/CronTransportAction.java index edc21cd6f..43196ac1b 100644 --- a/src/main/java/org/opensearch/ad/transport/CronTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/CronTransportAction.java @@ -16,7 +16,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.FailedNodeException; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.nodes.TransportNodesAction; @@ -28,6 +27,7 @@ import org.opensearch.ad.task.ADTaskManager; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.threadpool.ThreadPool; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/DeleteAnomalyDetectorTransportAction.java b/src/main/java/org/opensearch/ad/transport/DeleteAnomalyDetectorTransportAction.java index f64c41d43..bc70ebae8 100644 --- a/src/main/java/org/opensearch/ad/transport/DeleteAnomalyDetectorTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/DeleteAnomalyDetectorTransportAction.java @@ -25,7 +25,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.DocWriteResponse; import org.opensearch.action.delete.DeleteRequest; import org.opensearch.action.delete.DeleteResponse; @@ -47,6 +46,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/org/opensearch/ad/transport/DeleteAnomalyResultsTransportAction.java b/src/main/java/org/opensearch/ad/transport/DeleteAnomalyResultsTransportAction.java index 1634170cb..fbe3a780c 100644 --- a/src/main/java/org/opensearch/ad/transport/DeleteAnomalyResultsTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/DeleteAnomalyResultsTransportAction.java @@ -19,7 +19,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.client.Client; @@ -28,6 +27,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.reindex.BulkByScrollResponse; import org.opensearch.index.reindex.DeleteByQueryAction; import org.opensearch.index.reindex.DeleteByQueryRequest; diff --git a/src/main/java/org/opensearch/ad/transport/DeleteModelTransportAction.java b/src/main/java/org/opensearch/ad/transport/DeleteModelTransportAction.java index b7a3bee88..b8220601c 100644 --- a/src/main/java/org/opensearch/ad/transport/DeleteModelTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/DeleteModelTransportAction.java @@ -16,7 +16,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.FailedNodeException; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.nodes.TransportNodesAction; @@ -28,6 +27,7 @@ import org.opensearch.ad.task.ADTaskCacheManager; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.threadpool.ThreadPool; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/EntityProfileResponse.java b/src/main/java/org/opensearch/ad/transport/EntityProfileResponse.java index 42f02a89a..db7642842 100644 --- a/src/main/java/org/opensearch/ad/transport/EntityProfileResponse.java +++ b/src/main/java/org/opensearch/ad/transport/EntityProfileResponse.java @@ -17,11 +17,11 @@ import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.constant.CommonName; import org.opensearch.ad.model.ModelProfile; import org.opensearch.ad.model.ModelProfileOnNode; import org.opensearch.ad.util.Bwc; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/main/java/org/opensearch/ad/transport/EntityProfileTransportAction.java b/src/main/java/org/opensearch/ad/transport/EntityProfileTransportAction.java index 0c1d27dee..567f2dbd3 100644 --- a/src/main/java/org/opensearch/ad/transport/EntityProfileTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/EntityProfileTransportAction.java @@ -18,7 +18,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.caching.CacheProvider; @@ -34,6 +33,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.tasks.Task; import org.opensearch.threadpool.ThreadPool; diff --git a/src/main/java/org/opensearch/ad/transport/EntityResultTransportAction.java b/src/main/java/org/opensearch/ad/transport/EntityResultTransportAction.java index 12f1ee9bd..0a40efaeb 100644 --- a/src/main/java/org/opensearch/ad/transport/EntityResultTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/EntityResultTransportAction.java @@ -23,7 +23,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.action.support.master.AcknowledgedResponse; @@ -56,6 +55,7 @@ import org.opensearch.ad.util.ExceptionUtil; import org.opensearch.ad.util.ParseUtils; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.tasks.Task; import org.opensearch.threadpool.ThreadPool; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/ForwardADTaskTransportAction.java b/src/main/java/org/opensearch/ad/transport/ForwardADTaskTransportAction.java index 6f11f0758..f22420b63 100644 --- a/src/main/java/org/opensearch/ad/transport/ForwardADTaskTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/ForwardADTaskTransportAction.java @@ -21,7 +21,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.NodeStateManager; @@ -35,6 +34,7 @@ import org.opensearch.ad.task.ADTaskManager; import org.opensearch.common.inject.Inject; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.rest.RestStatus; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorResponse.java b/src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorResponse.java index 167800806..54d249d19 100644 --- a/src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorResponse.java +++ b/src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorResponse.java @@ -13,13 +13,13 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.model.ADTask; import org.opensearch.ad.model.AnomalyDetector; import org.opensearch.ad.model.AnomalyDetectorJob; import org.opensearch.ad.model.DetectorProfile; import org.opensearch.ad.model.EntityProfile; import org.opensearch.ad.util.RestHandlerUtils; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.rest.RestStatus; diff --git a/src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportAction.java b/src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportAction.java index fc5f27742..7d6ee8f76 100644 --- a/src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportAction.java @@ -37,7 +37,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.MultiGetItemResponse; import org.opensearch.action.get.MultiGetRequest; import org.opensearch.action.get.MultiGetResponse; @@ -66,6 +65,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.Strings; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; diff --git a/src/main/java/org/opensearch/ad/transport/IndexAnomalyDetectorResponse.java b/src/main/java/org/opensearch/ad/transport/IndexAnomalyDetectorResponse.java index 460604019..e6adbc0e2 100644 --- a/src/main/java/org/opensearch/ad/transport/IndexAnomalyDetectorResponse.java +++ b/src/main/java/org/opensearch/ad/transport/IndexAnomalyDetectorResponse.java @@ -13,9 +13,9 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.model.AnomalyDetector; import org.opensearch.ad.util.RestHandlerUtils; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.rest.RestStatus; diff --git a/src/main/java/org/opensearch/ad/transport/IndexAnomalyDetectorTransportAction.java b/src/main/java/org/opensearch/ad/transport/IndexAnomalyDetectorTransportAction.java index 3cdf2cedf..55f969f28 100644 --- a/src/main/java/org/opensearch/ad/transport/IndexAnomalyDetectorTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/IndexAnomalyDetectorTransportAction.java @@ -24,7 +24,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; @@ -44,6 +43,7 @@ import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.index.query.QueryBuilders; import org.opensearch.rest.RestRequest; diff --git a/src/main/java/org/opensearch/ad/transport/PreviewAnomalyDetectorResponse.java b/src/main/java/org/opensearch/ad/transport/PreviewAnomalyDetectorResponse.java index 2bba63d9a..2793f02fc 100644 --- a/src/main/java/org/opensearch/ad/transport/PreviewAnomalyDetectorResponse.java +++ b/src/main/java/org/opensearch/ad/transport/PreviewAnomalyDetectorResponse.java @@ -14,9 +14,9 @@ import java.io.IOException; import java.util.List; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.model.AnomalyDetector; import org.opensearch.ad.model.AnomalyResult; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/main/java/org/opensearch/ad/transport/PreviewAnomalyDetectorTransportAction.java b/src/main/java/org/opensearch/ad/transport/PreviewAnomalyDetectorTransportAction.java index 6a909f4f3..2cce23643 100644 --- a/src/main/java/org/opensearch/ad/transport/PreviewAnomalyDetectorTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/PreviewAnomalyDetectorTransportAction.java @@ -29,7 +29,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.support.ActionFilters; @@ -51,6 +50,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/org/opensearch/ad/transport/RCFPollingResponse.java b/src/main/java/org/opensearch/ad/transport/RCFPollingResponse.java index f3d7a43da..e746c435e 100644 --- a/src/main/java/org/opensearch/ad/transport/RCFPollingResponse.java +++ b/src/main/java/org/opensearch/ad/transport/RCFPollingResponse.java @@ -13,7 +13,7 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/main/java/org/opensearch/ad/transport/RCFPollingTransportAction.java b/src/main/java/org/opensearch/ad/transport/RCFPollingTransportAction.java index 2601ab97c..0e7ea0dcf 100644 --- a/src/main/java/org/opensearch/ad/transport/RCFPollingTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/RCFPollingTransportAction.java @@ -17,7 +17,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.cluster.HashRing; @@ -29,6 +28,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.tasks.Task; import org.opensearch.threadpool.ThreadPool; diff --git a/src/main/java/org/opensearch/ad/transport/RCFResultResponse.java b/src/main/java/org/opensearch/ad/transport/RCFResultResponse.java index 56b2e8936..76332d407 100644 --- a/src/main/java/org/opensearch/ad/transport/RCFResultResponse.java +++ b/src/main/java/org/opensearch/ad/transport/RCFResultResponse.java @@ -14,9 +14,9 @@ import java.io.IOException; import org.opensearch.Version; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.cluster.ADVersionUtil; import org.opensearch.ad.constant.CommonName; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/main/java/org/opensearch/ad/transport/RCFResultTransportAction.java b/src/main/java/org/opensearch/ad/transport/RCFResultTransportAction.java index 4c43b4e53..456ac0bf8 100644 --- a/src/main/java/org/opensearch/ad/transport/RCFResultTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/RCFResultTransportAction.java @@ -18,7 +18,6 @@ import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.breaker.ADCircuitBreakerService; @@ -30,6 +29,7 @@ import org.opensearch.ad.stats.StatNames; import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/SearchADTasksTransportAction.java b/src/main/java/org/opensearch/ad/transport/SearchADTasksTransportAction.java index 15ebdb26a..1aa3dc95f 100644 --- a/src/main/java/org/opensearch/ad/transport/SearchADTasksTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/SearchADTasksTransportAction.java @@ -11,13 +11,13 @@ package org.opensearch.ad.transport; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.transport.handler.ADSearchHandler; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoResponse.java b/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoResponse.java index 4cc415a6d..6f8333173 100644 --- a/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoResponse.java +++ b/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoResponse.java @@ -13,8 +13,8 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.util.RestHandlerUtils; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoTransportAction.java b/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoTransportAction.java index 93ce86c87..3fb7d083b 100644 --- a/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoTransportAction.java @@ -17,7 +17,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.action.support.ActionFilters; @@ -27,6 +26,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; import org.opensearch.index.query.QueryBuilders; import org.opensearch.index.query.TermsQueryBuilder; diff --git a/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorTransportAction.java b/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorTransportAction.java index 160662cf9..89566c8b1 100644 --- a/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/SearchAnomalyDetectorTransportAction.java @@ -11,13 +11,13 @@ package org.opensearch.ad.transport; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.transport.handler.ADSearchHandler; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/SearchAnomalyResultTransportAction.java b/src/main/java/org/opensearch/ad/transport/SearchAnomalyResultTransportAction.java index b21a3e328..1a6557e1d 100644 --- a/src/main/java/org/opensearch/ad/transport/SearchAnomalyResultTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/SearchAnomalyResultTransportAction.java @@ -22,7 +22,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.MultiSearchRequest; import org.opensearch.action.search.MultiSearchResponse; import org.opensearch.action.search.SearchRequest; @@ -37,6 +36,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.query.MatchAllQueryBuilder; import org.opensearch.search.aggregations.AggregationBuilder; import org.opensearch.search.aggregations.Aggregations; diff --git a/src/main/java/org/opensearch/ad/transport/SearchTopAnomalyResultResponse.java b/src/main/java/org/opensearch/ad/transport/SearchTopAnomalyResultResponse.java index 2a33f57fa..a1b5e1111 100644 --- a/src/main/java/org/opensearch/ad/transport/SearchTopAnomalyResultResponse.java +++ b/src/main/java/org/opensearch/ad/transport/SearchTopAnomalyResultResponse.java @@ -14,8 +14,8 @@ import java.io.IOException; import java.util.List; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.model.AnomalyResultBucket; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/main/java/org/opensearch/ad/transport/SearchTopAnomalyResultTransportAction.java b/src/main/java/org/opensearch/ad/transport/SearchTopAnomalyResultTransportAction.java index 9e80569a7..b49ec8760 100644 --- a/src/main/java/org/opensearch/ad/transport/SearchTopAnomalyResultTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/SearchTopAnomalyResultTransportAction.java @@ -27,7 +27,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.action.support.ActionFilters; @@ -40,6 +39,7 @@ import org.opensearch.ad.transport.handler.ADSearchHandler; import org.opensearch.client.Client; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.Strings; import org.opensearch.index.query.BoolQueryBuilder; import org.opensearch.index.query.ExistsQueryBuilder; diff --git a/src/main/java/org/opensearch/ad/transport/StatsAnomalyDetectorResponse.java b/src/main/java/org/opensearch/ad/transport/StatsAnomalyDetectorResponse.java index 4a233fc62..c3a108454 100644 --- a/src/main/java/org/opensearch/ad/transport/StatsAnomalyDetectorResponse.java +++ b/src/main/java/org/opensearch/ad/transport/StatsAnomalyDetectorResponse.java @@ -13,8 +13,8 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.stats.ADStatsResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/main/java/org/opensearch/ad/transport/StatsAnomalyDetectorTransportAction.java b/src/main/java/org/opensearch/ad/transport/StatsAnomalyDetectorTransportAction.java index ff481d80c..69b61583e 100644 --- a/src/main/java/org/opensearch/ad/transport/StatsAnomalyDetectorTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/StatsAnomalyDetectorTransportAction.java @@ -22,7 +22,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; @@ -36,6 +35,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.rest.RestStatus; import org.opensearch.search.aggregations.AggregationBuilders; import org.opensearch.search.aggregations.bucket.terms.StringTerms; diff --git a/src/main/java/org/opensearch/ad/transport/StopDetectorResponse.java b/src/main/java/org/opensearch/ad/transport/StopDetectorResponse.java index b3606b918..00ca68649 100644 --- a/src/main/java/org/opensearch/ad/transport/StopDetectorResponse.java +++ b/src/main/java/org/opensearch/ad/transport/StopDetectorResponse.java @@ -15,7 +15,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; -import org.opensearch.action.ActionResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.InputStreamStreamInput; import org.opensearch.core.common.io.stream.OutputStreamStreamOutput; import org.opensearch.core.common.io.stream.StreamInput; diff --git a/src/main/java/org/opensearch/ad/transport/StopDetectorTransportAction.java b/src/main/java/org/opensearch/ad/transport/StopDetectorTransportAction.java index 08e3d78df..6dd303d0e 100644 --- a/src/main/java/org/opensearch/ad/transport/StopDetectorTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/StopDetectorTransportAction.java @@ -17,7 +17,6 @@ import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; import org.opensearch.ExceptionsHelper; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequest; import org.opensearch.action.FailedNodeException; import org.opensearch.action.support.ActionFilters; @@ -27,6 +26,7 @@ import org.opensearch.client.Client; import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/ThresholdResultResponse.java b/src/main/java/org/opensearch/ad/transport/ThresholdResultResponse.java index 824ea1ac7..b3b66fd57 100644 --- a/src/main/java/org/opensearch/ad/transport/ThresholdResultResponse.java +++ b/src/main/java/org/opensearch/ad/transport/ThresholdResultResponse.java @@ -13,8 +13,8 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.constant.CommonName; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/main/java/org/opensearch/ad/transport/ThresholdResultTransportAction.java b/src/main/java/org/opensearch/ad/transport/ThresholdResultTransportAction.java index 9e292b676..053d9729b 100644 --- a/src/main/java/org/opensearch/ad/transport/ThresholdResultTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/ThresholdResultTransportAction.java @@ -13,11 +13,11 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.ml.ModelManager; import org.opensearch.common.inject.Inject; +import org.opensearch.core.action.ActionListener; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/main/java/org/opensearch/ad/transport/ValidateAnomalyDetectorResponse.java b/src/main/java/org/opensearch/ad/transport/ValidateAnomalyDetectorResponse.java index 407b4c871..d89022241 100644 --- a/src/main/java/org/opensearch/ad/transport/ValidateAnomalyDetectorResponse.java +++ b/src/main/java/org/opensearch/ad/transport/ValidateAnomalyDetectorResponse.java @@ -13,8 +13,8 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.model.DetectorValidationIssue; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContent; diff --git a/src/main/java/org/opensearch/ad/transport/ValidateAnomalyDetectorTransportAction.java b/src/main/java/org/opensearch/ad/transport/ValidateAnomalyDetectorTransportAction.java index 7ce9f5622..1afb8cd13 100644 --- a/src/main/java/org/opensearch/ad/transport/ValidateAnomalyDetectorTransportAction.java +++ b/src/main/java/org/opensearch/ad/transport/ValidateAnomalyDetectorTransportAction.java @@ -23,7 +23,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; @@ -46,6 +45,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.index.IndexNotFoundException; import org.opensearch.index.query.QueryBuilders; diff --git a/src/main/java/org/opensearch/ad/transport/handler/ADSearchHandler.java b/src/main/java/org/opensearch/ad/transport/handler/ADSearchHandler.java index 3851ed695..0f1082e7f 100644 --- a/src/main/java/org/opensearch/ad/transport/handler/ADSearchHandler.java +++ b/src/main/java/org/opensearch/ad/transport/handler/ADSearchHandler.java @@ -20,7 +20,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.ad.settings.AnomalyDetectorSettings; @@ -29,6 +28,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; /** * Handle general search request, check user role and return search response. diff --git a/src/main/java/org/opensearch/ad/transport/handler/AnomalyIndexHandler.java b/src/main/java/org/opensearch/ad/transport/handler/AnomalyIndexHandler.java index b9548555b..eda604ee5 100644 --- a/src/main/java/org/opensearch/ad/transport/handler/AnomalyIndexHandler.java +++ b/src/main/java/org/opensearch/ad/transport/handler/AnomalyIndexHandler.java @@ -21,7 +21,6 @@ import org.apache.logging.log4j.Logger; import org.opensearch.ExceptionsHelper; import org.opensearch.ResourceAlreadyExistsException; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.indices.create.CreateIndexResponse; import org.opensearch.action.bulk.BackoffPolicy; import org.opensearch.action.index.IndexRequest; @@ -39,6 +38,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.concurrency.OpenSearchRejectedExecutionException; import org.opensearch.core.xcontent.ToXContentObject; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/main/java/org/opensearch/ad/transport/handler/AnomalyResultBulkIndexHandler.java b/src/main/java/org/opensearch/ad/transport/handler/AnomalyResultBulkIndexHandler.java index 578da576f..3d78975aa 100644 --- a/src/main/java/org/opensearch/ad/transport/handler/AnomalyResultBulkIndexHandler.java +++ b/src/main/java/org/opensearch/ad/transport/handler/AnomalyResultBulkIndexHandler.java @@ -21,7 +21,6 @@ import org.apache.logging.log4j.Logger; import org.opensearch.ExceptionsHelper; import org.opensearch.ResourceAlreadyExistsException; -import org.opensearch.action.ActionListener; import org.opensearch.action.bulk.BulkRequestBuilder; import org.opensearch.action.bulk.BulkResponse; import org.opensearch.action.index.IndexRequest; @@ -35,6 +34,7 @@ import org.opensearch.client.Client; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.threadpool.ThreadPool; diff --git a/src/main/java/org/opensearch/ad/transport/handler/MultiEntityResultHandler.java b/src/main/java/org/opensearch/ad/transport/handler/MultiEntityResultHandler.java index c2d980cde..3ea95f1cf 100644 --- a/src/main/java/org/opensearch/ad/transport/handler/MultiEntityResultHandler.java +++ b/src/main/java/org/opensearch/ad/transport/handler/MultiEntityResultHandler.java @@ -15,7 +15,6 @@ import org.apache.logging.log4j.Logger; import org.opensearch.ExceptionsHelper; import org.opensearch.ResourceAlreadyExistsException; -import org.opensearch.action.ActionListener; import org.opensearch.ad.common.exception.AnomalyDetectionException; import org.opensearch.ad.constant.CommonName; import org.opensearch.ad.indices.AnomalyDetectionIndices; @@ -30,6 +29,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; /** diff --git a/src/main/java/org/opensearch/ad/util/ADSafeSecurityInjector.java b/src/main/java/org/opensearch/ad/util/ADSafeSecurityInjector.java index b38455d36..3f8c7c3ae 100644 --- a/src/main/java/org/opensearch/ad/util/ADSafeSecurityInjector.java +++ b/src/main/java/org/opensearch/ad/util/ADSafeSecurityInjector.java @@ -15,13 +15,13 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.ad.NodeStateManager; import org.opensearch.ad.common.exception.EndRunException; import org.opensearch.ad.model.AnomalyDetector; import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.Strings; public class ADSafeSecurityInjector extends SafeSecurityInjector { diff --git a/src/main/java/org/opensearch/ad/util/ClientUtil.java b/src/main/java/org/opensearch/ad/util/ClientUtil.java index 2563997d0..58b23c968 100644 --- a/src/main/java/org/opensearch/ad/util/ClientUtil.java +++ b/src/main/java/org/opensearch/ad/util/ClientUtil.java @@ -24,10 +24,7 @@ import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchException; import org.opensearch.OpenSearchTimeoutException; -import org.opensearch.action.ActionFuture; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequest; -import org.opensearch.action.ActionResponse; import org.opensearch.action.ActionType; import org.opensearch.action.LatchedActionListener; import org.opensearch.action.TaskOperationFailure; @@ -42,12 +39,15 @@ import org.opensearch.ad.constant.CommonName; import org.opensearch.ad.model.AnomalyDetector; import org.opensearch.client.Client; +import org.opensearch.common.action.ActionFuture; import org.opensearch.common.inject.Inject; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; +import org.opensearch.core.action.ActionResponse; +import org.opensearch.core.tasks.TaskId; import org.opensearch.tasks.Task; -import org.opensearch.tasks.TaskId; import org.opensearch.tasks.TaskInfo; import org.opensearch.threadpool.ThreadPool; diff --git a/src/main/java/org/opensearch/ad/util/ExceptionUtil.java b/src/main/java/org/opensearch/ad/util/ExceptionUtil.java index 3b8152561..1c2bd68b0 100644 --- a/src/main/java/org/opensearch/ad/util/ExceptionUtil.java +++ b/src/main/java/org/opensearch/ad/util/ExceptionUtil.java @@ -18,7 +18,6 @@ import org.apache.logging.log4j.core.util.Throwables; import org.opensearch.ExceptionsHelper; import org.opensearch.OpenSearchException; -import org.opensearch.action.ActionListener; import org.opensearch.action.NoShardAvailableActionException; import org.opensearch.action.UnavailableShardsException; import org.opensearch.action.index.IndexResponse; @@ -26,6 +25,7 @@ import org.opensearch.ad.common.exception.AnomalyDetectionException; import org.opensearch.ad.common.exception.EndRunException; import org.opensearch.ad.common.exception.LimitExceededException; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.NotSerializableExceptionWrapper; import org.opensearch.core.concurrency.OpenSearchRejectedExecutionException; import org.opensearch.core.rest.RestStatus; diff --git a/src/main/java/org/opensearch/ad/util/MultiResponsesDelegateActionListener.java b/src/main/java/org/opensearch/ad/util/MultiResponsesDelegateActionListener.java index 8b18bf9c3..e83488330 100644 --- a/src/main/java/org/opensearch/ad/util/MultiResponsesDelegateActionListener.java +++ b/src/main/java/org/opensearch/ad/util/MultiResponsesDelegateActionListener.java @@ -19,8 +19,8 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.ad.model.Mergeable; +import org.opensearch.core.action.ActionListener; /** * A listener wrapper to help send multiple requests asynchronously and return one final responses together diff --git a/src/main/java/org/opensearch/ad/util/ParseUtils.java b/src/main/java/org/opensearch/ad/util/ParseUtils.java index 5f1af1bb6..e6ddd2e4f 100644 --- a/src/main/java/org/opensearch/ad/util/ParseUtils.java +++ b/src/main/java/org/opensearch/ad/util/ParseUtils.java @@ -41,7 +41,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.lucene.search.join.ScoreMode; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.search.SearchResponse; @@ -60,6 +59,7 @@ import org.opensearch.common.xcontent.XContentType; import org.opensearch.commons.ConfigConstants; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.ParsingException; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/org/opensearch/ad/util/RestHandlerUtils.java b/src/main/java/org/opensearch/ad/util/RestHandlerUtils.java index 908e3d0f5..f89ed2330 100644 --- a/src/main/java/org/opensearch/ad/util/RestHandlerUtils.java +++ b/src/main/java/org/opensearch/ad/util/RestHandlerUtils.java @@ -23,7 +23,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchPhaseExecutionException; import org.opensearch.action.search.ShardSearchFailure; import org.opensearch.ad.common.exception.AnomalyDetectionException; @@ -35,6 +34,7 @@ import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.common.xcontent.XContentHelper; import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.Strings; import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.core.rest.RestStatus; diff --git a/src/main/java/org/opensearch/ad/util/SecurityClientUtil.java b/src/main/java/org/opensearch/ad/util/SecurityClientUtil.java index 8e9b97b57..ac5625c35 100644 --- a/src/main/java/org/opensearch/ad/util/SecurityClientUtil.java +++ b/src/main/java/org/opensearch/ad/util/SecurityClientUtil.java @@ -13,9 +13,7 @@ import java.util.function.BiConsumer; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequest; -import org.opensearch.action.ActionResponse; import org.opensearch.action.ActionType; import org.opensearch.ad.NodeStateManager; import org.opensearch.client.Client; @@ -23,6 +21,8 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; +import org.opensearch.core.action.ActionResponse; public class SecurityClientUtil { private static final String INJECTION_ID = "direct"; diff --git a/src/test/java/org/opensearch/EntityProfileResponse1_0.java b/src/test/java/org/opensearch/EntityProfileResponse1_0.java index 7a77b91df..162d8b4d1 100644 --- a/src/test/java/org/opensearch/EntityProfileResponse1_0.java +++ b/src/test/java/org/opensearch/EntityProfileResponse1_0.java @@ -17,8 +17,8 @@ import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; -import org.opensearch.action.ActionResponse; import org.opensearch.ad.constant.CommonName; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/test/java/org/opensearch/RCFResultResponse1_0.java b/src/test/java/org/opensearch/RCFResultResponse1_0.java index 1c153ab66..9e1ecafe7 100644 --- a/src/test/java/org/opensearch/RCFResultResponse1_0.java +++ b/src/test/java/org/opensearch/RCFResultResponse1_0.java @@ -13,7 +13,7 @@ import java.io.IOException; -import org.opensearch.action.ActionResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/test/java/org/opensearch/action/admin/indices/mapping/get/IndexAnomalyDetectorActionHandlerTests.java b/src/test/java/org/opensearch/action/admin/indices/mapping/get/IndexAnomalyDetectorActionHandlerTests.java index 94571f257..ebc36d314 100644 --- a/src/test/java/org/opensearch/action/admin/indices/mapping/get/IndexAnomalyDetectorActionHandlerTests.java +++ b/src/test/java/org/opensearch/action/admin/indices/mapping/get/IndexAnomalyDetectorActionHandlerTests.java @@ -34,9 +34,7 @@ import org.junit.BeforeClass; import org.junit.Ignore; import org.mockito.ArgumentCaptor; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequest; -import org.opensearch.action.ActionResponse; import org.opensearch.action.ActionType; import org.opensearch.action.get.GetAction; import org.opensearch.action.get.GetRequest; @@ -65,6 +63,8 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; +import org.opensearch.core.action.ActionResponse; import org.opensearch.rest.RestRequest; import org.opensearch.threadpool.TestThreadPool; import org.opensearch.threadpool.ThreadPool; diff --git a/src/test/java/org/opensearch/action/admin/indices/mapping/get/ValidateAnomalyDetectorActionHandlerTests.java b/src/test/java/org/opensearch/action/admin/indices/mapping/get/ValidateAnomalyDetectorActionHandlerTests.java index d56ea2b51..88aac7bbd 100644 --- a/src/test/java/org/opensearch/action/admin/indices/mapping/get/ValidateAnomalyDetectorActionHandlerTests.java +++ b/src/test/java/org/opensearch/action/admin/indices/mapping/get/ValidateAnomalyDetectorActionHandlerTests.java @@ -29,7 +29,6 @@ import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchResponse; import org.opensearch.action.support.WriteRequest; import org.opensearch.ad.AbstractADTest; @@ -52,6 +51,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.rest.RestRequest; import org.opensearch.threadpool.ThreadPool; import org.opensearch.transport.TransportService; diff --git a/src/test/java/org/opensearch/ad/AbstractADTest.java b/src/test/java/org/opensearch/ad/AbstractADTest.java index faabd34e2..93e972174 100644 --- a/src/test/java/org/opensearch/ad/AbstractADTest.java +++ b/src/test/java/org/opensearch/ad/AbstractADTest.java @@ -41,7 +41,6 @@ import org.apache.logging.log4j.core.layout.PatternLayout; import org.apache.logging.log4j.util.StackLocatorUtil; import org.opensearch.Version; -import org.opensearch.action.ActionResponse; import org.opensearch.action.support.PlainActionFuture; import org.opensearch.ad.model.AnomalyDetector; import org.opensearch.ad.model.AnomalyDetectorJob; @@ -52,6 +51,7 @@ import org.opensearch.common.logging.Loggers; import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.NamedXContentRegistry; diff --git a/src/test/java/org/opensearch/ad/AnomalyDetectorJobRunnerTests.java b/src/test/java/org/opensearch/ad/AnomalyDetectorJobRunnerTests.java index 46b5e42c3..9214915de 100644 --- a/src/test/java/org/opensearch/ad/AnomalyDetectorJobRunnerTests.java +++ b/src/test/java/org/opensearch/ad/AnomalyDetectorJobRunnerTests.java @@ -48,7 +48,6 @@ import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.index.IndexRequest; @@ -78,6 +77,7 @@ import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.OpenSearchExecutors; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.core.index.Index; import org.opensearch.core.index.shard.ShardId; diff --git a/src/test/java/org/opensearch/ad/AnomalyDetectorProfileRunnerTests.java b/src/test/java/org/opensearch/ad/AnomalyDetectorProfileRunnerTests.java index 0577e3999..6ef85f971 100644 --- a/src/test/java/org/opensearch/ad/AnomalyDetectorProfileRunnerTests.java +++ b/src/test/java/org/opensearch/ad/AnomalyDetectorProfileRunnerTests.java @@ -36,7 +36,6 @@ import java.util.function.Consumer; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.FailedNodeException; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; @@ -63,6 +62,7 @@ import org.opensearch.cluster.ClusterName; import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.NotSerializableExceptionWrapper; import org.opensearch.core.common.transport.TransportAddress; import org.opensearch.index.IndexNotFoundException; diff --git a/src/test/java/org/opensearch/ad/EntityProfileRunnerTests.java b/src/test/java/org/opensearch/ad/EntityProfileRunnerTests.java index 42c7d3676..ca11fd7c3 100644 --- a/src/test/java/org/opensearch/ad/EntityProfileRunnerTests.java +++ b/src/test/java/org/opensearch/ad/EntityProfileRunnerTests.java @@ -27,7 +27,6 @@ import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.search.SearchRequest; @@ -51,6 +50,7 @@ import org.opensearch.ad.util.SecurityClientUtil; import org.opensearch.client.Client; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; import org.opensearch.search.DocValueFormat; import org.opensearch.search.SearchHit; diff --git a/src/test/java/org/opensearch/ad/MemoryTrackerTests.java b/src/test/java/org/opensearch/ad/MemoryTrackerTests.java index 818946153..b4933d0f1 100644 --- a/src/test/java/org/opensearch/ad/MemoryTrackerTests.java +++ b/src/test/java/org/opensearch/ad/MemoryTrackerTests.java @@ -32,6 +32,7 @@ import org.opensearch.test.OpenSearchTestCase; import com.amazon.randomcutforest.config.Precision; +import com.amazon.randomcutforest.config.TransformMethod; import com.amazon.randomcutforest.parkservices.ThresholdedRandomCutForest; public class MemoryTrackerTests extends OpenSearchTestCase { @@ -108,6 +109,9 @@ public void setUp() throws Exception { .boundingBoxCacheFraction(AnomalyDetectorSettings.REAL_TIME_BOUNDING_BOX_CACHE_RATIO) .shingleSize(shingleSize) .internalShinglingEnabled(true) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); detector = mock(AnomalyDetector.class); @@ -151,6 +155,9 @@ public void testEstimateModelSize() { .internalShinglingEnabled(true) // same with dimension for opportunistic memory saving .shingleSize(shingleSize) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); assertEquals(603708, tracker.estimateTRCFModelSize(rcf2)); assertTrue(tracker.isHostingAllowed(detectorId, rcf2)); @@ -170,6 +177,9 @@ public void testEstimateModelSize() { .internalShinglingEnabled(false) // same with dimension for opportunistic memory saving .shingleSize(1) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); assertEquals(1685208, tracker.estimateTRCFModelSize(rcf3)); @@ -187,6 +197,9 @@ public void testEstimateModelSize() { .internalShinglingEnabled(true) // same with dimension for opportunistic memory saving .shingleSize(1) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); assertEquals(521304, tracker.estimateTRCFModelSize(rcf4)); @@ -204,6 +217,9 @@ public void testEstimateModelSize() { .internalShinglingEnabled(true) // same with dimension for opportunistic memory saving .shingleSize(2) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); assertEquals(467340, tracker.estimateTRCFModelSize(rcf5)); @@ -221,6 +237,9 @@ public void testEstimateModelSize() { .internalShinglingEnabled(true) // same with dimension for opportunistic memory saving .shingleSize(4) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); assertEquals(603676, tracker.estimateTRCFModelSize(rcf6)); @@ -238,6 +257,9 @@ public void testEstimateModelSize() { .internalShinglingEnabled(true) // same with dimension for opportunistic memory saving .shingleSize(16) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); assertEquals(401481, tracker.estimateTRCFModelSize(rcf7)); @@ -255,6 +277,9 @@ public void testEstimateModelSize() { .internalShinglingEnabled(true) // same with dimension for opportunistic memory saving .shingleSize(32) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); assertEquals(1040432, tracker.estimateTRCFModelSize(rcf8)); @@ -272,6 +297,9 @@ public void testEstimateModelSize() { .internalShinglingEnabled(true) // same with dimension for opportunistic memory saving .shingleSize(64) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); assertEquals(1040688, tracker.estimateTRCFModelSize(rcf9)); @@ -289,6 +317,9 @@ public void testEstimateModelSize() { .internalShinglingEnabled(true) // same with dimension for opportunistic memory saving .shingleSize(65) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); expectThrows(IllegalArgumentException.class, () -> tracker.estimateTRCFModelSize(rcf10)); } diff --git a/src/test/java/org/opensearch/ad/MultiEntityProfileRunnerTests.java b/src/test/java/org/opensearch/ad/MultiEntityProfileRunnerTests.java index 6833bce5f..1fc5b84d2 100644 --- a/src/test/java/org/opensearch/ad/MultiEntityProfileRunnerTests.java +++ b/src/test/java/org/opensearch/ad/MultiEntityProfileRunnerTests.java @@ -39,7 +39,6 @@ import org.junit.Before; import org.junit.BeforeClass; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.FailedNodeException; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; @@ -64,6 +63,7 @@ import org.opensearch.cluster.ClusterName; import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.transport.TransportAddress; import org.opensearch.transport.TransportService; diff --git a/src/test/java/org/opensearch/ad/NodeStateManagerTests.java b/src/test/java/org/opensearch/ad/NodeStateManagerTests.java index a754b275c..8e0152096 100644 --- a/src/test/java/org/opensearch/ad/NodeStateManagerTests.java +++ b/src/test/java/org/opensearch/ad/NodeStateManagerTests.java @@ -39,7 +39,6 @@ import org.junit.Before; import org.junit.BeforeClass; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.search.SearchRequest; @@ -57,6 +56,7 @@ import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.search.SearchModule; import org.opensearch.test.ClusterServiceUtils; diff --git a/src/test/java/org/opensearch/ad/TestHelpers.java b/src/test/java/org/opensearch/ad/TestHelpers.java index 871726d19..3c3acbfcb 100644 --- a/src/test/java/org/opensearch/ad/TestHelpers.java +++ b/src/test/java/org/opensearch/ad/TestHelpers.java @@ -48,7 +48,6 @@ import org.apache.logging.log4j.util.Strings; import org.apache.lucene.search.TotalHits; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.cluster.health.ClusterHealthResponse; import org.opensearch.action.admin.indices.create.CreateIndexRequest; import org.opensearch.action.admin.indices.create.CreateIndexResponse; @@ -114,6 +113,7 @@ import org.opensearch.common.xcontent.XContentHelper; import org.opensearch.common.xcontent.XContentType; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.bytes.BytesArray; import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.core.rest.RestStatus; diff --git a/src/test/java/org/opensearch/ad/cluster/ADClusterEventListenerTests.java b/src/test/java/org/opensearch/ad/cluster/ADClusterEventListenerTests.java index 268133bfc..1a51cb9be 100644 --- a/src/test/java/org/opensearch/ad/cluster/ADClusterEventListenerTests.java +++ b/src/test/java/org/opensearch/ad/cluster/ADClusterEventListenerTests.java @@ -27,7 +27,6 @@ import org.junit.Before; import org.junit.BeforeClass; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.ad.AbstractADTest; import org.opensearch.ad.constant.CommonName; import org.opensearch.cluster.ClusterChangedEvent; @@ -37,6 +36,7 @@ import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.cluster.node.DiscoveryNodes; import org.opensearch.cluster.service.ClusterService; +import org.opensearch.core.action.ActionListener; import org.opensearch.gateway.GatewayService; public class ADClusterEventListenerTests extends AbstractADTest { diff --git a/src/test/java/org/opensearch/ad/cluster/ADDataMigratorTests.java b/src/test/java/org/opensearch/ad/cluster/ADDataMigratorTests.java index 7dfc8f3a6..9b9bb93d9 100644 --- a/src/test/java/org/opensearch/ad/cluster/ADDataMigratorTests.java +++ b/src/test/java/org/opensearch/ad/cluster/ADDataMigratorTests.java @@ -27,7 +27,6 @@ import org.apache.lucene.search.TotalHits; import org.junit.Before; import org.opensearch.ResourceAlreadyExistsException; -import org.opensearch.action.ActionListener; import org.opensearch.action.NoShardAvailableActionException; import org.opensearch.action.admin.indices.create.CreateIndexResponse; import org.opensearch.action.get.GetResponse; @@ -40,6 +39,7 @@ import org.opensearch.client.Client; import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.cluster.service.ClusterService; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.index.shard.ShardId; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/test/java/org/opensearch/ad/cluster/DailyCronTests.java b/src/test/java/org/opensearch/ad/cluster/DailyCronTests.java index 5bbb4cb7f..0ec57b77f 100644 --- a/src/test/java/org/opensearch/ad/cluster/DailyCronTests.java +++ b/src/test/java/org/opensearch/ad/cluster/DailyCronTests.java @@ -23,9 +23,9 @@ import java.util.Locale; import org.opensearch.OpenSearchException; -import org.opensearch.action.ActionListener; import org.opensearch.ad.AbstractADTest; import org.opensearch.ad.util.ClientUtil; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; import org.opensearch.index.reindex.BulkByScrollResponse; import org.opensearch.index.reindex.DeleteByQueryAction; diff --git a/src/test/java/org/opensearch/ad/cluster/HashRingTests.java b/src/test/java/org/opensearch/ad/cluster/HashRingTests.java index 2d377dcdc..7c9a82896 100644 --- a/src/test/java/org/opensearch/ad/cluster/HashRingTests.java +++ b/src/test/java/org/opensearch/ad/cluster/HashRingTests.java @@ -32,7 +32,6 @@ import org.junit.Before; import org.opensearch.Build; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.cluster.node.info.NodeInfo; import org.opensearch.action.admin.cluster.node.info.NodesInfoResponse; import org.opensearch.action.admin.cluster.node.info.PluginsAndModules; @@ -50,6 +49,7 @@ import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.plugins.PluginInfo; import com.google.common.collect.ImmutableList; diff --git a/src/test/java/org/opensearch/ad/cluster/HourlyCronTests.java b/src/test/java/org/opensearch/ad/cluster/HourlyCronTests.java index d19196df0..b3fedf5dd 100644 --- a/src/test/java/org/opensearch/ad/cluster/HourlyCronTests.java +++ b/src/test/java/org/opensearch/ad/cluster/HourlyCronTests.java @@ -26,7 +26,6 @@ import org.apache.logging.log4j.Logger; import org.opensearch.OpenSearchException; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.FailedNodeException; import org.opensearch.ad.AbstractADTest; import org.opensearch.ad.constant.CommonName; @@ -39,6 +38,7 @@ import org.opensearch.cluster.ClusterState; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.io.stream.BytesStreamOutput; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import test.org.opensearch.ad.util.ClusterCreation; diff --git a/src/test/java/org/opensearch/ad/cluster/diskcleanup/IndexCleanupTests.java b/src/test/java/org/opensearch/ad/cluster/diskcleanup/IndexCleanupTests.java index 8e96e21c3..949dab85b 100644 --- a/src/test/java/org/opensearch/ad/cluster/diskcleanup/IndexCleanupTests.java +++ b/src/test/java/org/opensearch/ad/cluster/diskcleanup/IndexCleanupTests.java @@ -25,7 +25,6 @@ import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.indices.stats.CommonStats; import org.opensearch.action.admin.indices.stats.IndicesStatsResponse; import org.opensearch.action.admin.indices.stats.ShardStats; @@ -36,6 +35,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.reindex.DeleteByQueryAction; import org.opensearch.index.store.StoreStats; diff --git a/src/test/java/org/opensearch/ad/cluster/diskcleanup/ModelCheckpointIndexRetentionTests.java b/src/test/java/org/opensearch/ad/cluster/diskcleanup/ModelCheckpointIndexRetentionTests.java index 8da501562..13c4a7d90 100644 --- a/src/test/java/org/opensearch/ad/cluster/diskcleanup/ModelCheckpointIndexRetentionTests.java +++ b/src/test/java/org/opensearch/ad/cluster/diskcleanup/ModelCheckpointIndexRetentionTests.java @@ -26,9 +26,9 @@ import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opensearch.action.ActionListener; import org.opensearch.ad.AbstractADTest; import org.opensearch.ad.constant.CommonName; +import org.opensearch.core.action.ActionListener; public class ModelCheckpointIndexRetentionTests extends AbstractADTest { diff --git a/src/test/java/org/opensearch/ad/e2e/SingleStreamModelPerfIT.java b/src/test/java/org/opensearch/ad/e2e/SingleStreamModelPerfIT.java index 61a79ee96..2cf080a14 100644 --- a/src/test/java/org/opensearch/ad/e2e/SingleStreamModelPerfIT.java +++ b/src/test/java/org/opensearch/ad/e2e/SingleStreamModelPerfIT.java @@ -47,7 +47,7 @@ public void testDataset() throws Exception { // TODO: this test case will run for a much longer time and timeout with security enabled if (!isHttps()) { disableResourceNotFoundFaultTolerence(); - verifyAnomaly("synthetic", 1, 1500, 8, .4, .9, 10); + verifyAnomaly("synthetic", 1, 1500, 8, .4, .7, 10); } } @@ -96,7 +96,7 @@ private void verifyTestResults( // recall = windows containing predicted anomaly points / total anomaly windows double recall = anomalies.size() > 0 ? positiveAnomalies / anomalies.size() : 1; - assertTrue(recall >= minRecall); + assertTrue(String.format(Locale.ROOT, "recall should be %f but got %f", recall, minRecall), recall >= minRecall); assertTrue(errors <= maxError); LOG.info("Precision: {}, Window recall: {}", precision, recall); diff --git a/src/test/java/org/opensearch/ad/feature/FeatureManagerTests.java b/src/test/java/org/opensearch/ad/feature/FeatureManagerTests.java index 64ca51936..a46e4b897 100644 --- a/src/test/java/org/opensearch/ad/feature/FeatureManagerTests.java +++ b/src/test/java/org/opensearch/ad/feature/FeatureManagerTests.java @@ -55,7 +55,6 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opensearch.action.ActionListener; import org.opensearch.ad.AnomalyDetectorPlugin; import org.opensearch.ad.common.exception.EndRunException; import org.opensearch.ad.dataprocessor.Interpolator; @@ -65,6 +64,7 @@ import org.opensearch.ad.model.Entity; import org.opensearch.ad.model.IntervalTimeConfiguration; import org.opensearch.ad.util.ArrayEqMatcher; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; @RunWith(JUnitParamsRunner.class) diff --git a/src/test/java/org/opensearch/ad/feature/NoPowermockSearchFeatureDaoTests.java b/src/test/java/org/opensearch/ad/feature/NoPowermockSearchFeatureDaoTests.java index 3124be026..9d90435aa 100644 --- a/src/test/java/org/opensearch/ad/feature/NoPowermockSearchFeatureDaoTests.java +++ b/src/test/java/org/opensearch/ad/feature/NoPowermockSearchFeatureDaoTests.java @@ -49,7 +49,6 @@ import org.mockito.ArgumentCaptor; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.action.search.SearchResponse.Clusters; @@ -75,6 +74,7 @@ import org.opensearch.common.util.BitMixer; import org.opensearch.common.util.MockBigArrays; import org.opensearch.common.util.MockPageCacheRecycler; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.indices.breaker.NoneCircuitBreakerService; import org.opensearch.index.mapper.DateFieldMapper; import org.opensearch.index.query.QueryBuilders; diff --git a/src/test/java/org/opensearch/ad/feature/SearchFeatureDaoParamTests.java b/src/test/java/org/opensearch/ad/feature/SearchFeatureDaoParamTests.java index 89477aae5..67d706159 100644 --- a/src/test/java/org/opensearch/ad/feature/SearchFeatureDaoParamTests.java +++ b/src/test/java/org/opensearch/ad/feature/SearchFeatureDaoParamTests.java @@ -45,8 +45,6 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opensearch.action.ActionFuture; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.MultiSearchRequest; import org.opensearch.action.search.MultiSearchResponse; import org.opensearch.action.search.MultiSearchResponse.Item; @@ -65,9 +63,11 @@ import org.opensearch.ad.util.SecurityClientUtil; import org.opensearch.client.Client; import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.action.ActionFuture; import org.opensearch.common.settings.Settings; import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.index.query.QueryBuilders; import org.opensearch.script.ScriptService; diff --git a/src/test/java/org/opensearch/ad/feature/SearchFeatureDaoTests.java b/src/test/java/org/opensearch/ad/feature/SearchFeatureDaoTests.java index fbb45cd5e..a85f9cbcd 100644 --- a/src/test/java/org/opensearch/ad/feature/SearchFeatureDaoTests.java +++ b/src/test/java/org/opensearch/ad/feature/SearchFeatureDaoTests.java @@ -48,8 +48,6 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opensearch.action.ActionFuture; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.MultiSearchRequest; import org.opensearch.action.search.MultiSearchResponse; import org.opensearch.action.search.MultiSearchResponse.Item; @@ -70,10 +68,12 @@ import org.opensearch.ad.util.ParseUtils; import org.opensearch.ad.util.SecurityClientUtil; import org.opensearch.client.Client; +import org.opensearch.common.action.ActionFuture; import org.opensearch.common.settings.Settings; import org.opensearch.common.time.DateFormatter; import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.index.mapper.DateFieldMapper; import org.opensearch.index.query.QueryBuilders; diff --git a/src/test/java/org/opensearch/ad/indices/InitAnomalyDetectionIndicesTests.java b/src/test/java/org/opensearch/ad/indices/InitAnomalyDetectionIndicesTests.java index babbf6c2d..84fe9bd58 100644 --- a/src/test/java/org/opensearch/ad/indices/InitAnomalyDetectionIndicesTests.java +++ b/src/test/java/org/opensearch/ad/indices/InitAnomalyDetectionIndicesTests.java @@ -25,7 +25,6 @@ import java.util.HashSet; import org.mockito.ArgumentCaptor; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.indices.alias.Alias; import org.opensearch.action.admin.indices.create.CreateIndexRequest; import org.opensearch.action.admin.indices.create.CreateIndexResponse; @@ -45,6 +44,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; public class InitAnomalyDetectionIndicesTests extends AbstractADTest { diff --git a/src/test/java/org/opensearch/ad/indices/RolloverTests.java b/src/test/java/org/opensearch/ad/indices/RolloverTests.java index 66a50c6be..7dcebcb84 100644 --- a/src/test/java/org/opensearch/ad/indices/RolloverTests.java +++ b/src/test/java/org/opensearch/ad/indices/RolloverTests.java @@ -25,7 +25,6 @@ import java.util.HashSet; import java.util.Map; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.cluster.state.ClusterStateRequest; import org.opensearch.action.admin.cluster.state.ClusterStateResponse; import org.opensearch.action.admin.indices.create.CreateIndexRequest; @@ -48,6 +47,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; public class RolloverTests extends AbstractADTest { diff --git a/src/test/java/org/opensearch/ad/indices/UpdateMappingTests.java b/src/test/java/org/opensearch/ad/indices/UpdateMappingTests.java index a55ea9a9b..42c4870e0 100644 --- a/src/test/java/org/opensearch/ad/indices/UpdateMappingTests.java +++ b/src/test/java/org/opensearch/ad/indices/UpdateMappingTests.java @@ -33,7 +33,6 @@ import org.junit.BeforeClass; import org.mockito.ArgumentCaptor; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.indices.alias.get.GetAliasesRequest; import org.opensearch.action.admin.indices.alias.get.GetAliasesResponse; import org.opensearch.action.admin.indices.settings.get.GetSettingsAction; @@ -56,6 +55,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; public class UpdateMappingTests extends AbstractADTest { diff --git a/src/test/java/org/opensearch/ad/ml/AbstractCosineDataTest.java b/src/test/java/org/opensearch/ad/ml/AbstractCosineDataTest.java index 4949770f4..386ce27bf 100644 --- a/src/test/java/org/opensearch/ad/ml/AbstractCosineDataTest.java +++ b/src/test/java/org/opensearch/ad/ml/AbstractCosineDataTest.java @@ -30,7 +30,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.ad.AbstractADTest; @@ -57,6 +56,7 @@ import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.test.ClusterServiceUtils; import org.opensearch.test.OpenSearchTestCase; import org.opensearch.threadpool.ThreadPool; diff --git a/src/test/java/org/opensearch/ad/ml/CheckpointDaoTests.java b/src/test/java/org/opensearch/ad/ml/CheckpointDaoTests.java index 9f2d1f522..c41b94e10 100644 --- a/src/test/java/org/opensearch/ad/ml/CheckpointDaoTests.java +++ b/src/test/java/org/opensearch/ad/ml/CheckpointDaoTests.java @@ -75,7 +75,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.opensearch.ResourceAlreadyExistsException; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequest; import org.opensearch.action.DocWriteRequest; import org.opensearch.action.DocWriteResponse; @@ -101,6 +100,7 @@ import org.opensearch.ad.settings.AnomalyDetectorSettings; import org.opensearch.ad.util.ClientUtil; import org.opensearch.client.Client; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.index.shard.ShardId; import org.opensearch.index.IndexNotFoundException; import org.opensearch.index.engine.VersionConflictEngineException; @@ -112,6 +112,7 @@ import com.amazon.randomcutforest.RandomCutForest; import com.amazon.randomcutforest.config.Precision; +import com.amazon.randomcutforest.config.TransformMethod; import com.amazon.randomcutforest.parkservices.AnomalyDescriptor; import com.amazon.randomcutforest.parkservices.ThresholdedRandomCutForest; import com.amazon.randomcutforest.parkservices.state.ThresholdedRandomCutForestMapper; @@ -257,6 +258,10 @@ private ThresholdedRandomCutForest createTRCF() { .precision(Precision.FLOAT_32) .randomSeed(seed) .boundingBoxCacheFraction(0) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) + .internalShinglingEnabled(false) .build(); for (double[] point : data) { forest.process(point, 0); @@ -911,8 +916,6 @@ public void testFromEntityModelCheckpointBWC() throws FileNotFoundException, IOE assertEquals(1, forest.getDimensions()); assertEquals(10, forest.getNumberOfTrees()); assertEquals(256, forest.getSampleSize()); - // there are at least 10 scores in the checkpoint - assertTrue(trcf.getThresholder().getCount() > 10); Random random = new Random(0); for (int i = 0; i < 100; i++) { @@ -980,8 +983,6 @@ public void testFromEntityModelCheckpointNoThreshold() throws FileNotFoundExcept assertEquals(1, forest.getDimensions()); assertEquals(10, forest.getNumberOfTrees()); assertEquals(256, forest.getSampleSize()); - // there are no scores in the checkpoint - assertEquals(0, trcf.getThresholder().getCount()); } public void testFromEntityModelCheckpointWithEntity() throws Exception { @@ -1083,11 +1084,12 @@ public void testDeserializeTRCFModel() throws Exception { grade.add(0.0); grade.add(0.0); grade.add(0.0); + // rcf 3.8 has a number of improvements on thresholder and predictor corrector. + // We don't expect the results have the same anomaly grade. for (int i = 0; i < coldStartData.size(); i++) { forest.process(coldStartData.get(i), 0); AnomalyDescriptor descriptor = forest.process(coldStartData.get(i), 0); assertEquals(descriptor.getRCFScore(), scores.get(i), 1e-9); - assertEquals(descriptor.getAnomalyGrade(), grade.get(i), 1e-9); } } @@ -1099,4 +1101,139 @@ public void testShouldSave() { // 1658863778000L + 6 hrs < Instant.now assertTrue(checkpointDao.shouldSave(Instant.ofEpochMilli(1658863778000L), false, Duration.ofHours(6), clock)); } + + // This test is intended to check if given a checkpoint created by RCF-3.0-rc3 ("rcf_3_0_rc3_single_stream.json") + // and given the same sample data will rc3 and current RCF version (this test originally created when 3.0-rc3 is in use) + // will produce the same anomaly scores. + // The scores in this method were produced from AD running with RCF3.0-rc3 dependency + // and this test runs with the most recent RCF dependency that is being pulled by this project. + public void testDeserialize_rcf3_rc3_single_stream_model() throws Exception { + // Model in file rcf_3_0_rc3_single_stream.json is a checkpoint creatd by RCF-3.0-rc3 + // I generate the json response file using Postman's Send and Download + URI uri = ClassLoader.getSystemResource("org/opensearch/ad/ml/rcf_3_0_rc3_single_stream.json").toURI(); + String filePath = Paths.get(uri).toString(); + String json = Files.readString(Paths.get(filePath), Charset.defaultCharset()); + // For the parsing of .toTrcf to work I had to manually change "\u003d" in code back to =. + // In the byte array it doesn't seem like this is an issue but whenever reading the byte array response into a file it + // converts "=" to "\u003d" https://groups.google.com/g/google-gson/c/JDHUo9DWyyM?pli=1 + // I also needed to bypass the trcf as it wasn't being read as a key value but instead part of the string + Map map = gson.fromJson(json, Map.class); + String model = (String) ((Map) ((Map) ((ArrayList) ((Map) map.get("hits")).get("hits")).get(0)).get("_source")).get("modelV2"); + ThresholdedRandomCutForest forest = checkpointDao.toTrcf(model); + + // single-stream model uses external shingling + List coldStartData = new ArrayList<>(); + double[] sample1 = new double[] { 64, 58, 59, 60, 61, 62, 63, 57.0 }; + double[] sample2 = new double[] { 58, 59, 60, 61, 62, 63, 57.0, 1.0 }; + double[] sample3 = new double[] { 59, 60, 61, 62, 63, 57.0, 1.0, -19.0 }; + double[] sample4 = new double[] { 60, 61, 62, 63, 57.0, 1.0, -19.0, 13.0 }; + double[] sample5 = new double[] { 61, 62, 63, 57.0, 1.0, -19.0, 13.0, 41.0 }; + + coldStartData.add(sample1); + coldStartData.add(sample2); + coldStartData.add(sample3); + coldStartData.add(sample4); + coldStartData.add(sample5); + + // This scores were generated with the sample data but on RCF3.0-rc1 and we are comparing them + // to the scores generated by the imported RCF3.0-rc2.1 + List scores = new ArrayList<>(); + scores.add(3.3830441158587066); + scores.add(2.825961659490065); + scores.add(2.4685871670647384); + scores.add(2.3123460886413647); + scores.add(2.1401987653477135); + + // rcf 3.8 has a number of improvements on thresholder and predictor corrector. + // We don't expect the results have the same anomaly grade. + for (int i = 0; i < coldStartData.size(); i++) { + forest.process(coldStartData.get(i), 0); + AnomalyDescriptor descriptor = forest.process(coldStartData.get(i), 0); + assertEquals(descriptor.getRCFScore(), scores.get(i), 1e-9); + } + } + + // This test is intended to check if given a checkpoint created by RCF-3.0-rc3 ("rcf_3_0_rc3_hc.json") + // and given the same sample data will rc3 and current RCF version (this test originally created when 3.0-rc3 is in use) + // will produce the same anomaly scores. + // The scores in this method were produced from AD running with RCF3.0-rc3 dependency + // and this test runs with the most recent RCF dependency that is being pulled by this project. + public void testDeserialize_rcf3_rc3_hc_model() throws Exception { + // Model in rcf_3_0_rc3_hc.json is a checkpoint creatd by RCF-3.0-rc3 + // I generate the json response file using Postman's Send and Download + URI uri = ClassLoader.getSystemResource("org/opensearch/ad/ml/rcf_3_0_rc3_hc.json").toURI(); + String filePath = Paths.get(uri).toString(); + String json = Files.readString(Paths.get(filePath), Charset.defaultCharset()); + // For the parsing of .toTrcf to work I had to manually change "\u003d" in code back to =. + // In the byte array it doesn't seem like this is an issue but whenever reading the byte array response into a file it + // converts "=" to "\u003d" https://groups.google.com/g/google-gson/c/JDHUo9DWyyM?pli=1 + // I also needed to bypass the trcf as it wasn't being read as a key value but instead part of the string + Map map = gson.fromJson(json, Map.class); + String model = (String) ((Map) ((Map) ((ArrayList) ((Map) map.get("hits")).get("hits")).get(0)).get("_source")).get("modelV2"); + model = model.split(":")[1]; + model = model.substring(1, model.length() - 2); + // Simulate JSON parsing by replacing Unicode escape sequence with the actual character + // Without escaping Java string, we experience model corruption exception. + model = unescapeJavaString(model); + + ThresholdedRandomCutForest forest = checkpointDao.toTrcf(model); + + // hc model uses internal shingling + List coldStartData = new ArrayList<>(); + double[] sample1 = new double[] { 53, 54, 55, 56, 57.0 }; + double[] sample2 = new double[] { 54, 55, 56, 57.0, 1.0 }; + double[] sample3 = new double[] { 55, 56, 57.0, 1.0, -19.0 }; + double[] sample4 = new double[] { 56, 57.0, 1.0, -19.0, 13.0 }; + double[] sample5 = new double[] { 57.0, 1.0, -19.0, 13.0, 41.0 }; + + coldStartData.add(sample1); + coldStartData.add(sample2); + coldStartData.add(sample3); + coldStartData.add(sample4); + coldStartData.add(sample5); + + // This scores were generated with the sample data but on RCF3.0-rc1 and we are comparing them + // to the scores generated by the imported RCF3.0-rc2.1 + List scores = new ArrayList<>(); + scores.add(1.86645896573027); + scores.add(1.8760247712797833); + scores.add(1.6809181763279901); + scores.add(1.7126716645678555); + scores.add(1.323776514074674); + + // rcf 3.8 has a number of improvements on thresholder and predictor corrector. + // We don't expect the results have the same anomaly grade. + for (int i = 0; i < coldStartData.size(); i++) { + forest.process(coldStartData.get(i), 0); + AnomalyDescriptor descriptor = forest.process(coldStartData.get(i), 0); + assertEquals(descriptor.getRCFScore(), scores.get(i), 1e-9); + } + } + + public static String unescapeJavaString(String st) { + StringBuilder sb = new StringBuilder(st.length()); + + for (int i = 0; i < st.length(); i++) { + char ch = st.charAt(i); + if (ch == '\\') { + char nextChar = (i == st.length() - 1) ? '\\' : st.charAt(i + 1); + switch (nextChar) { + case 'u': + sb.append((char) Integer.parseInt(st.substring(i + 2, i + 6), 16)); + i += 5; + break; + case '\\': + sb.append('\\'); + i++; + break; + default: + sb.append(ch); + break; + } + } else { + sb.append(ch); + } + } + return sb.toString(); + } } diff --git a/src/test/java/org/opensearch/ad/ml/CheckpointDeleteTests.java b/src/test/java/org/opensearch/ad/ml/CheckpointDeleteTests.java index aba990e12..b154588e5 100644 --- a/src/test/java/org/opensearch/ad/ml/CheckpointDeleteTests.java +++ b/src/test/java/org/opensearch/ad/ml/CheckpointDeleteTests.java @@ -26,12 +26,12 @@ import org.junit.Before; import org.mockito.Mock; import org.opensearch.OpenSearchException; -import org.opensearch.action.ActionListener; import org.opensearch.ad.AbstractADTest; import org.opensearch.ad.constant.CommonName; import org.opensearch.ad.indices.AnomalyDetectionIndices; import org.opensearch.ad.util.ClientUtil; import org.opensearch.client.Client; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; import org.opensearch.index.reindex.BulkByScrollResponse; import org.opensearch.index.reindex.DeleteByQueryAction; diff --git a/src/test/java/org/opensearch/ad/ml/EntityColdStarterTests.java b/src/test/java/org/opensearch/ad/ml/EntityColdStarterTests.java index 6e7fdb3d4..8ac6fe989 100644 --- a/src/test/java/org/opensearch/ad/ml/EntityColdStarterTests.java +++ b/src/test/java/org/opensearch/ad/ml/EntityColdStarterTests.java @@ -40,7 +40,6 @@ import org.junit.AfterClass; import org.junit.BeforeClass; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.ad.MemoryTracker; @@ -57,6 +56,7 @@ import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.concurrency.OpenSearchRejectedExecutionException; import test.org.opensearch.ad.util.LabelledAnomalyGenerator; @@ -64,6 +64,7 @@ import test.org.opensearch.ad.util.MultiDimDataWithTime; import com.amazon.randomcutforest.config.Precision; +import com.amazon.randomcutforest.config.TransformMethod; import com.amazon.randomcutforest.parkservices.AnomalyDescriptor; import com.amazon.randomcutforest.parkservices.ThresholdedRandomCutForest; import com.google.common.collect.ImmutableList; @@ -219,6 +220,9 @@ private void diffTesting(ModelState modelState, List cold .sampleSize(AnomalyDetectorSettings.NUM_SAMPLES_PER_TREE) .internalShinglingEnabled(true) .anomalyRate(1 - AnomalyDetectorSettings.THRESHOLD_MIN_PVALUE) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) .build(); for (int i = 0; i < coldStartData.size(); i++) { @@ -513,7 +517,10 @@ public void testTrainModelFromExistingSamplesEnoughSamples() { .parallelExecutionEnabled(false) .sampleSize(AnomalyDetectorSettings.NUM_SAMPLES_PER_TREE) .internalShinglingEnabled(true) - .anomalyRate(1 - AnomalyDetectorSettings.THRESHOLD_MIN_PVALUE); + .anomalyRate(1 - AnomalyDetectorSettings.THRESHOLD_MIN_PVALUE) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true); Tuple, ThresholdedRandomCutForest> models = MLUtil.prepareModel(inputDimension, rcfConfig); Queue samples = models.v1(); ThresholdedRandomCutForest rcf = models.v2(); diff --git a/src/test/java/org/opensearch/ad/ml/HCADModelPerfTests.java b/src/test/java/org/opensearch/ad/ml/HCADModelPerfTests.java index 5d2849401..534c5f756 100644 --- a/src/test/java/org/opensearch/ad/ml/HCADModelPerfTests.java +++ b/src/test/java/org/opensearch/ad/ml/HCADModelPerfTests.java @@ -31,7 +31,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.apache.lucene.tests.util.TimeUnits; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.ad.AnomalyDetectorPlugin; @@ -46,6 +45,7 @@ import org.opensearch.ad.settings.AnomalyDetectorSettings; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.test.ClusterServiceUtils; import test.org.opensearch.ad.util.LabelledAnomalyGenerator; diff --git a/src/test/java/org/opensearch/ad/ml/ModelManagerTests.java b/src/test/java/org/opensearch/ad/ml/ModelManagerTests.java index 1b4797eb6..d16776fe2 100644 --- a/src/test/java/org/opensearch/ad/ml/ModelManagerTests.java +++ b/src/test/java/org/opensearch/ad/ml/ModelManagerTests.java @@ -54,7 +54,6 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opensearch.action.ActionListener; import org.opensearch.ad.AnomalyDetectorPlugin; import org.opensearch.ad.MemoryTracker; import org.opensearch.ad.NodeStateManager; @@ -75,13 +74,11 @@ import org.opensearch.ad.util.DiscoveryNodeFilterer; import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.cluster.service.ClusterService; -import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.monitor.jvm.JvmService; import org.opensearch.threadpool.ThreadPool; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.modules.junit4.PowerMockRunnerDelegate; import test.org.opensearch.ad.util.MLUtil; import test.org.opensearch.ad.util.RandomModelStateConfig; @@ -91,8 +88,7 @@ import com.amazon.randomcutforest.parkservices.ThresholdedRandomCutForest; import com.amazon.randomcutforest.returntypes.DiVector; -@RunWith(PowerMockRunner.class) -@PowerMockRunnerDelegate(JUnitParamsRunner.class) +@RunWith(JUnitParamsRunner.class) @SuppressWarnings("unchecked") public class ModelManagerTests { @@ -141,7 +137,6 @@ public class ModelManagerTests { private double thresholdMinPvalue; private int minPreviewSize; private Duration modelTtl; - private Duration checkpointInterval; private ThresholdedRandomCutForest rcf; @Mock @@ -159,7 +154,6 @@ public class ModelManagerTests { private double[] attribution; private double[] point; private DiVector attributionVec; - private ClusterSettings clusterSettings; @Mock private ActionListener rcfResultListener; @@ -184,11 +178,10 @@ public void setup() { numSamples = 10; numFeatures = 1; rcfTimeDecay = 1.0 / 1024; - numMinSamples = 1; + numMinSamples = 32; thresholdMinPvalue = 0.95; minPreviewSize = 500; modelTtl = Duration.ofHours(1); - checkpointInterval = Duration.ofHours(1); shingleSize = 1; attribution = new double[] { 1, 1 }; attributionVec = new DiVector(attribution.length); @@ -198,7 +191,7 @@ public void setup() { } point = new double[] { 2 }; - rcf = spy(ThresholdedRandomCutForest.builder().dimensions(numFeatures).sampleSize(numSamples).numberOfTrees(numTrees).build()); + rcf = mock(ThresholdedRandomCutForest.class); double score = 11.; double confidence = 0.091353632; @@ -407,6 +400,8 @@ public void getRcfResult_throwToListener_whenNoCheckpoint() { @Test public void getRcfResult_throwToListener_whenHeapLimitExceed() { + rcf = ThresholdedRandomCutForest.builder().dimensions(numFeatures).sampleSize(numSamples).numberOfTrees(numTrees).build(); + doAnswer(invocation -> { ActionListener> listener = invocation.getArgument(1); listener.onResponse(Optional.of(rcf)); diff --git a/src/test/java/org/opensearch/ad/mock/plugin/MockReindexPlugin.java b/src/test/java/org/opensearch/ad/mock/plugin/MockReindexPlugin.java index 2f8552414..96bac0f5b 100644 --- a/src/test/java/org/opensearch/ad/mock/plugin/MockReindexPlugin.java +++ b/src/test/java/org/opensearch/ad/mock/plugin/MockReindexPlugin.java @@ -16,9 +16,7 @@ import java.util.Iterator; import java.util.List; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequest; -import org.opensearch.action.ActionResponse; import org.opensearch.action.bulk.BulkAction; import org.opensearch.action.bulk.BulkRequest; import org.opensearch.action.bulk.BulkRequestBuilder; @@ -34,6 +32,8 @@ import org.opensearch.client.Client; import org.opensearch.common.inject.Inject; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.index.reindex.BulkByScrollResponse; import org.opensearch.index.reindex.BulkByScrollTask; diff --git a/src/test/java/org/opensearch/ad/mock/transport/MockAnomalyDetectorJobTransportActionWithUser.java b/src/test/java/org/opensearch/ad/mock/transport/MockAnomalyDetectorJobTransportActionWithUser.java index 52cfcc2cb..ad2cce014 100644 --- a/src/test/java/org/opensearch/ad/mock/transport/MockAnomalyDetectorJobTransportActionWithUser.java +++ b/src/test/java/org/opensearch/ad/mock/transport/MockAnomalyDetectorJobTransportActionWithUser.java @@ -17,7 +17,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.HandledTransportAction; import org.opensearch.ad.ExecuteADResultResponseRecorder; @@ -36,6 +35,7 @@ import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/test/java/org/opensearch/ad/plugin/MockReindexPlugin.java b/src/test/java/org/opensearch/ad/plugin/MockReindexPlugin.java index 1fc93fb05..9a0968173 100644 --- a/src/test/java/org/opensearch/ad/plugin/MockReindexPlugin.java +++ b/src/test/java/org/opensearch/ad/plugin/MockReindexPlugin.java @@ -19,9 +19,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequest; -import org.opensearch.action.ActionResponse; import org.opensearch.action.delete.DeleteRequest; import org.opensearch.action.delete.DeleteResponse; import org.opensearch.action.search.SearchRequest; @@ -33,6 +31,8 @@ import org.opensearch.client.Client; import org.opensearch.common.inject.Inject; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.index.reindex.BulkByScrollResponse; import org.opensearch.index.reindex.BulkByScrollTask; diff --git a/src/test/java/org/opensearch/ad/ratelimit/AbstractRateLimitingTest.java b/src/test/java/org/opensearch/ad/ratelimit/AbstractRateLimitingTest.java index e29865541..3caf23a99 100644 --- a/src/test/java/org/opensearch/ad/ratelimit/AbstractRateLimitingTest.java +++ b/src/test/java/org/opensearch/ad/ratelimit/AbstractRateLimitingTest.java @@ -21,12 +21,12 @@ import java.util.Arrays; import java.util.Optional; -import org.opensearch.action.ActionListener; import org.opensearch.ad.AbstractADTest; import org.opensearch.ad.NodeStateManager; import org.opensearch.ad.TestHelpers; import org.opensearch.ad.model.AnomalyDetector; import org.opensearch.ad.model.Entity; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; public class AbstractRateLimitingTest extends AbstractADTest { diff --git a/src/test/java/org/opensearch/ad/ratelimit/CheckpointReadWorkerTests.java b/src/test/java/org/opensearch/ad/ratelimit/CheckpointReadWorkerTests.java index 9c1c06d1d..5ea4a158f 100644 --- a/src/test/java/org/opensearch/ad/ratelimit/CheckpointReadWorkerTests.java +++ b/src/test/java/org/opensearch/ad/ratelimit/CheckpointReadWorkerTests.java @@ -42,7 +42,6 @@ import org.mockito.Mockito; import org.opensearch.OpenSearchException; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetResponse; import org.opensearch.action.get.MultiGetItemResponse; import org.opensearch.action.get.MultiGetResponse; @@ -69,6 +68,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.concurrency.OpenSearchRejectedExecutionException; import org.opensearch.core.rest.RestStatus; import org.opensearch.index.IndexNotFoundException; diff --git a/src/test/java/org/opensearch/ad/ratelimit/CheckpointWriteWorkerTests.java b/src/test/java/org/opensearch/ad/ratelimit/CheckpointWriteWorkerTests.java index 3d2a55806..fdcd73410 100644 --- a/src/test/java/org/opensearch/ad/ratelimit/CheckpointWriteWorkerTests.java +++ b/src/test/java/org/opensearch/ad/ratelimit/CheckpointWriteWorkerTests.java @@ -40,7 +40,6 @@ import java.util.concurrent.TimeUnit; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.DocWriteRequest; import org.opensearch.action.bulk.BulkItemResponse; import org.opensearch.action.bulk.BulkItemResponse.Failure; @@ -57,6 +56,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.concurrency.OpenSearchRejectedExecutionException; import org.opensearch.core.index.Index; import org.opensearch.core.index.shard.ShardId; diff --git a/src/test/java/org/opensearch/ad/ratelimit/EntityColdStartWorkerTests.java b/src/test/java/org/opensearch/ad/ratelimit/EntityColdStartWorkerTests.java index 5580b5f30..4b123b2e3 100644 --- a/src/test/java/org/opensearch/ad/ratelimit/EntityColdStartWorkerTests.java +++ b/src/test/java/org/opensearch/ad/ratelimit/EntityColdStartWorkerTests.java @@ -28,7 +28,6 @@ import java.util.Random; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.ad.breaker.ADCircuitBreakerService; import org.opensearch.ad.caching.CacheProvider; import org.opensearch.ad.ml.EntityColdStarter; @@ -38,6 +37,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.concurrency.OpenSearchRejectedExecutionException; import org.opensearch.core.rest.RestStatus; diff --git a/src/test/java/org/opensearch/ad/ratelimit/ResultWriteWorkerTests.java b/src/test/java/org/opensearch/ad/ratelimit/ResultWriteWorkerTests.java index b6f92a6f9..ab3f1a1f4 100644 --- a/src/test/java/org/opensearch/ad/ratelimit/ResultWriteWorkerTests.java +++ b/src/test/java/org/opensearch/ad/ratelimit/ResultWriteWorkerTests.java @@ -32,7 +32,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.index.IndexRequest; import org.opensearch.ad.TestHelpers; import org.opensearch.ad.breaker.ADCircuitBreakerService; @@ -46,6 +45,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.concurrency.OpenSearchRejectedExecutionException; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/test/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorJobActionHandlerTests.java b/src/test/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorJobActionHandlerTests.java index 718e73862..63f394d2e 100644 --- a/src/test/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorJobActionHandlerTests.java +++ b/src/test/java/org/opensearch/ad/rest/handler/IndexAnomalyDetectorJobActionHandlerTests.java @@ -28,7 +28,6 @@ import org.junit.Before; import org.junit.BeforeClass; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.index.IndexRequest; @@ -57,6 +56,7 @@ import org.opensearch.ad.util.DiscoveryNodeFilterer; import org.opensearch.client.Client; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.search.aggregations.AggregationBuilder; import org.opensearch.test.OpenSearchTestCase; diff --git a/src/test/java/org/opensearch/ad/task/ADTaskManagerTests.java b/src/test/java/org/opensearch/ad/task/ADTaskManagerTests.java index 89394f2ce..69f77b851 100644 --- a/src/test/java/org/opensearch/ad/task/ADTaskManagerTests.java +++ b/src/test/java/org/opensearch/ad/task/ADTaskManagerTests.java @@ -67,7 +67,6 @@ import org.mockito.Captor; import org.opensearch.ResourceAlreadyExistsException; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.DocWriteRequest; import org.opensearch.action.DocWriteResponse; import org.opensearch.action.admin.indices.create.CreateIndexResponse; @@ -114,6 +113,7 @@ import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.authuser.User; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.core.common.transport.TransportAddress; import org.opensearch.core.index.Index; diff --git a/src/test/java/org/opensearch/ad/transport/ADResultBulkTransportActionTests.java b/src/test/java/org/opensearch/ad/transport/ADResultBulkTransportActionTests.java index ec67fc924..643093fd5 100644 --- a/src/test/java/org/opensearch/ad/transport/ADResultBulkTransportActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/ADResultBulkTransportActionTests.java @@ -26,7 +26,6 @@ import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.action.bulk.BulkRequest; import org.opensearch.action.bulk.BulkResponse; @@ -39,6 +38,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.io.stream.BytesStreamOutput; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.index.IndexingPressure; import org.opensearch.transport.TransportService; diff --git a/src/test/java/org/opensearch/ad/transport/AnomalyDetectorJobActionTests.java b/src/test/java/org/opensearch/ad/transport/AnomalyDetectorJobActionTests.java index 979e9f423..b0196a493 100644 --- a/src/test/java/org/opensearch/ad/transport/AnomalyDetectorJobActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/AnomalyDetectorJobActionTests.java @@ -23,7 +23,6 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.ad.ExecuteADResultResponseRecorder; import org.opensearch.ad.indices.AnomalyDetectionIndices; @@ -37,6 +36,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.ConfigConstants; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.rest.RestStatus; import org.opensearch.tasks.Task; diff --git a/src/test/java/org/opensearch/ad/transport/AnomalyDetectorJobTransportActionTests.java b/src/test/java/org/opensearch/ad/transport/AnomalyDetectorJobTransportActionTests.java index ee9060207..4a333907d 100644 --- a/src/test/java/org/opensearch/ad/transport/AnomalyDetectorJobTransportActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/AnomalyDetectorJobTransportActionTests.java @@ -38,7 +38,6 @@ import org.junit.Before; import org.junit.Ignore; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetResponse; import org.opensearch.ad.HistoricalAnalysisIntegTestCase; import org.opensearch.ad.TestHelpers; @@ -56,6 +55,7 @@ import org.opensearch.client.Client; import org.opensearch.common.lucene.uid.Versions; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.index.IndexNotFoundException; import org.opensearch.test.OpenSearchIntegTestCase; diff --git a/src/test/java/org/opensearch/ad/transport/AnomalyResultTests.java b/src/test/java/org/opensearch/ad/transport/AnomalyResultTests.java index 2c5d7da3a..3ec561ecf 100644 --- a/src/test/java/org/opensearch/ad/transport/AnomalyResultTests.java +++ b/src/test/java/org/opensearch/ad/transport/AnomalyResultTests.java @@ -57,7 +57,6 @@ import org.mockito.ArgumentCaptor; import org.opensearch.OpenSearchTimeoutException; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; @@ -104,6 +103,7 @@ import org.opensearch.common.io.stream.BytesStreamOutput; import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.NotSerializableExceptionWrapper; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.transport.TransportAddress; diff --git a/src/test/java/org/opensearch/ad/transport/DeleteAnomalyDetectorActionTests.java b/src/test/java/org/opensearch/ad/transport/DeleteAnomalyDetectorActionTests.java index ca7fae8ba..c26da5a21 100644 --- a/src/test/java/org/opensearch/ad/transport/DeleteAnomalyDetectorActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/DeleteAnomalyDetectorActionTests.java @@ -22,7 +22,6 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.action.delete.DeleteResponse; import org.opensearch.action.support.ActionFilters; @@ -32,6 +31,7 @@ import org.opensearch.common.io.stream.BytesStreamOutput; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.tasks.Task; import org.opensearch.test.OpenSearchIntegTestCase; diff --git a/src/test/java/org/opensearch/ad/transport/DeleteAnomalyDetectorTests.java b/src/test/java/org/opensearch/ad/transport/DeleteAnomalyDetectorTests.java index c2c96d20d..e8af668ec 100644 --- a/src/test/java/org/opensearch/ad/transport/DeleteAnomalyDetectorTests.java +++ b/src/test/java/org/opensearch/ad/transport/DeleteAnomalyDetectorTests.java @@ -30,7 +30,6 @@ import org.junit.BeforeClass; import org.opensearch.OpenSearchStatusException; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.DocWriteResponse; import org.opensearch.action.delete.DeleteResponse; import org.opensearch.action.get.GetResponse; @@ -53,6 +52,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.index.get.GetResult; diff --git a/src/test/java/org/opensearch/ad/transport/DeleteITTests.java b/src/test/java/org/opensearch/ad/transport/DeleteITTests.java index b9c130041..222f5434d 100644 --- a/src/test/java/org/opensearch/ad/transport/DeleteITTests.java +++ b/src/test/java/org/opensearch/ad/transport/DeleteITTests.java @@ -15,10 +15,10 @@ import java.util.Collections; import java.util.concurrent.ExecutionException; -import org.opensearch.action.ActionFuture; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.ad.ADIntegTestCase; import org.opensearch.ad.AnomalyDetectorPlugin; +import org.opensearch.common.action.ActionFuture; import org.opensearch.plugins.Plugin; public class DeleteITTests extends ADIntegTestCase { diff --git a/src/test/java/org/opensearch/ad/transport/DeleteTests.java b/src/test/java/org/opensearch/ad/transport/DeleteTests.java index 3906a4216..ffc02aac4 100644 --- a/src/test/java/org/opensearch/ad/transport/DeleteTests.java +++ b/src/test/java/org/opensearch/ad/transport/DeleteTests.java @@ -35,7 +35,6 @@ import org.junit.Before; import org.opensearch.OpenSearchException; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.action.FailedNodeException; import org.opensearch.action.support.ActionFilters; @@ -52,6 +51,7 @@ import org.opensearch.common.io.stream.BytesStreamOutput; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.transport.TransportAddress; import org.opensearch.core.xcontent.ToXContent; diff --git a/src/test/java/org/opensearch/ad/transport/EntityResultTransportActionTests.java b/src/test/java/org/opensearch/ad/transport/EntityResultTransportActionTests.java index c05a8e590..4a6cf1189 100644 --- a/src/test/java/org/opensearch/ad/transport/EntityResultTransportActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/EntityResultTransportActionTests.java @@ -44,7 +44,6 @@ import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.PlainActionFuture; @@ -83,6 +82,7 @@ import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.transport.TransportService; diff --git a/src/test/java/org/opensearch/ad/transport/ForwardADTaskTransportActionTests.java b/src/test/java/org/opensearch/ad/transport/ForwardADTaskTransportActionTests.java index ce9d774c1..d589313f2 100644 --- a/src/test/java/org/opensearch/ad/transport/ForwardADTaskTransportActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/ForwardADTaskTransportActionTests.java @@ -29,7 +29,6 @@ import java.io.IOException; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.ad.ADUnitTestCase; import org.opensearch.ad.NodeStateManager; @@ -39,6 +38,7 @@ import org.opensearch.ad.model.ADTaskType; import org.opensearch.ad.task.ADTaskCacheManager; import org.opensearch.ad.task.ADTaskManager; +import org.opensearch.core.action.ActionListener; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; diff --git a/src/test/java/org/opensearch/ad/transport/GetAnomalyDetectorTests.java b/src/test/java/org/opensearch/ad/transport/GetAnomalyDetectorTests.java index 70ffc2565..98165ca55 100644 --- a/src/test/java/org/opensearch/ad/transport/GetAnomalyDetectorTests.java +++ b/src/test/java/org/opensearch/ad/transport/GetAnomalyDetectorTests.java @@ -35,7 +35,6 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.get.MultiGetItemResponse; @@ -57,6 +56,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.index.get.GetResult; import org.opensearch.transport.Transport; diff --git a/src/test/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportActionTests.java b/src/test/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportActionTests.java index 161b94b43..6e4cda44a 100644 --- a/src/test/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportActionTests.java @@ -24,7 +24,6 @@ import org.junit.*; import org.mockito.Mockito; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.ad.NodeStateManager; import org.opensearch.ad.TestHelpers; @@ -42,6 +41,7 @@ import org.opensearch.common.io.stream.BytesStreamOutput; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.NamedWriteableAwareStreamInput; import org.opensearch.core.common.io.stream.NamedWriteableRegistry; import org.opensearch.core.common.io.stream.StreamInput; diff --git a/src/test/java/org/opensearch/ad/transport/IndexAnomalyDetectorTransportActionTests.java b/src/test/java/org/opensearch/ad/transport/IndexAnomalyDetectorTransportActionTests.java index 609546ac7..f24617192 100644 --- a/src/test/java/org/opensearch/ad/transport/IndexAnomalyDetectorTransportActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/IndexAnomalyDetectorTransportActionTests.java @@ -28,7 +28,6 @@ import org.junit.Before; import org.junit.Test; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.search.SearchRequest; @@ -56,6 +55,7 @@ import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.ConfigConstants; +import org.opensearch.core.action.ActionListener; import org.opensearch.rest.RestRequest; import org.opensearch.search.SearchHit; import org.opensearch.search.SearchHits; diff --git a/src/test/java/org/opensearch/ad/transport/MultiEntityResultTests.java b/src/test/java/org/opensearch/ad/transport/MultiEntityResultTests.java index f99a76b2e..a2404f72d 100644 --- a/src/test/java/org/opensearch/ad/transport/MultiEntityResultTests.java +++ b/src/test/java/org/opensearch/ad/transport/MultiEntityResultTests.java @@ -59,7 +59,6 @@ import org.opensearch.BwcTests; import org.opensearch.OpenSearchTimeoutException; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.search.SearchPhaseExecutionException; @@ -114,6 +113,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.transport.TransportResponse; import org.opensearch.index.IndexNotFoundException; diff --git a/src/test/java/org/opensearch/ad/transport/PreviewAnomalyDetectorTransportActionTests.java b/src/test/java/org/opensearch/ad/transport/PreviewAnomalyDetectorTransportActionTests.java index 6cc318d6e..f10b5ea49 100644 --- a/src/test/java/org/opensearch/ad/transport/PreviewAnomalyDetectorTransportActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/PreviewAnomalyDetectorTransportActionTests.java @@ -37,7 +37,6 @@ import org.junit.Test; import org.opensearch.OpenSearchStatusException; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.indices.create.CreateIndexRequest; import org.opensearch.action.admin.indices.create.CreateIndexResponse; import org.opensearch.action.get.GetRequest; @@ -69,6 +68,7 @@ import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.common.xcontent.XContentFactory; import org.opensearch.commons.ConfigConstants; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.rest.RestStatus; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/test/java/org/opensearch/ad/transport/RCFPollingTests.java b/src/test/java/org/opensearch/ad/transport/RCFPollingTests.java index bde1a188e..61a6832b2 100644 --- a/src/test/java/org/opensearch/ad/transport/RCFPollingTests.java +++ b/src/test/java/org/opensearch/ad/transport/RCFPollingTests.java @@ -26,7 +26,6 @@ import org.junit.Before; import org.junit.BeforeClass; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.PlainActionFuture; import org.opensearch.ad.AbstractADTest; @@ -40,6 +39,7 @@ import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.common.transport.TransportAddress; import org.opensearch.core.transport.TransportResponse; diff --git a/src/test/java/org/opensearch/ad/transport/RCFResultITTests.java b/src/test/java/org/opensearch/ad/transport/RCFResultITTests.java index 2354d4657..d521eb608 100644 --- a/src/test/java/org/opensearch/ad/transport/RCFResultITTests.java +++ b/src/test/java/org/opensearch/ad/transport/RCFResultITTests.java @@ -15,9 +15,9 @@ import java.util.Collections; import java.util.concurrent.ExecutionException; -import org.opensearch.action.ActionFuture; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.ad.AnomalyDetectorPlugin; +import org.opensearch.common.action.ActionFuture; import org.opensearch.plugins.Plugin; import org.opensearch.test.OpenSearchIntegTestCase; diff --git a/src/test/java/org/opensearch/ad/transport/RCFResultTests.java b/src/test/java/org/opensearch/ad/transport/RCFResultTests.java index 7ffca13c8..07a20bbcd 100644 --- a/src/test/java/org/opensearch/ad/transport/RCFResultTests.java +++ b/src/test/java/org/opensearch/ad/transport/RCFResultTests.java @@ -34,7 +34,6 @@ import org.hamcrest.Matchers; import org.junit.Before; import org.opensearch.Version; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.PlainActionFuture; @@ -53,6 +52,7 @@ import org.opensearch.cluster.node.DiscoveryNode; import org.opensearch.common.io.stream.BytesStreamOutput; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/test/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoActionTests.java b/src/test/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoActionTests.java index 3777bfd4c..4ac6ded6f 100644 --- a/src/test/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/SearchAnomalyDetectorInfoActionTests.java @@ -26,7 +26,6 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchResponse; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.PlainActionFuture; @@ -38,6 +37,7 @@ import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.tasks.Task; diff --git a/src/test/java/org/opensearch/ad/transport/SearchAnomalyResultActionTests.java b/src/test/java/org/opensearch/ad/transport/SearchAnomalyResultActionTests.java index e40e1b34a..00ed8cf7e 100644 --- a/src/test/java/org/opensearch/ad/transport/SearchAnomalyResultActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/SearchAnomalyResultActionTests.java @@ -32,7 +32,6 @@ import org.apache.lucene.util.BytesRef; import org.junit.Before; import org.junit.Test; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.MultiSearchResponse; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; @@ -51,6 +50,7 @@ import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.core.action.ActionListener; import org.opensearch.search.DocValueFormat; import org.opensearch.search.aggregations.Aggregation; import org.opensearch.search.aggregations.Aggregations; diff --git a/src/test/java/org/opensearch/ad/transport/SearchTopAnomalyResultTransportActionTests.java b/src/test/java/org/opensearch/ad/transport/SearchTopAnomalyResultTransportActionTests.java index e3e6aaaf7..d1bac4c2a 100644 --- a/src/test/java/org/opensearch/ad/transport/SearchTopAnomalyResultTransportActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/SearchTopAnomalyResultTransportActionTests.java @@ -22,7 +22,6 @@ import org.junit.Before; import org.mockito.ArgumentCaptor; import org.mockito.stubbing.Answer; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchResponse; import org.opensearch.action.search.SearchResponseSections; import org.opensearch.action.search.ShardSearchFailure; @@ -33,6 +32,7 @@ import org.opensearch.ad.model.AnomalyResultBucket; import org.opensearch.ad.transport.handler.ADSearchHandler; import org.opensearch.client.Client; +import org.opensearch.core.action.ActionListener; import org.opensearch.search.SearchHits; import org.opensearch.search.aggregations.Aggregation; import org.opensearch.search.aggregations.Aggregations; diff --git a/src/test/java/org/opensearch/ad/transport/StopDetectorActionTests.java b/src/test/java/org/opensearch/ad/transport/StopDetectorActionTests.java index 9a151c2e3..a2e98bf88 100644 --- a/src/test/java/org/opensearch/ad/transport/StopDetectorActionTests.java +++ b/src/test/java/org/opensearch/ad/transport/StopDetectorActionTests.java @@ -18,9 +18,9 @@ import org.junit.Test; import org.opensearch.action.ActionRequest; import org.opensearch.action.ActionRequestValidationException; -import org.opensearch.action.ActionResponse; import org.opensearch.common.io.stream.BytesStreamOutput; import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.action.ActionResponse; import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.MediaTypeRegistry; import org.opensearch.core.xcontent.ToXContent; diff --git a/src/test/java/org/opensearch/ad/transport/ThresholdResultITTests.java b/src/test/java/org/opensearch/ad/transport/ThresholdResultITTests.java index ae84f54f5..8ca0a2c51 100644 --- a/src/test/java/org/opensearch/ad/transport/ThresholdResultITTests.java +++ b/src/test/java/org/opensearch/ad/transport/ThresholdResultITTests.java @@ -15,9 +15,9 @@ import java.util.Collections; import java.util.concurrent.ExecutionException; -import org.opensearch.action.ActionFuture; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.ad.AnomalyDetectorPlugin; +import org.opensearch.common.action.ActionFuture; import org.opensearch.plugins.Plugin; import org.opensearch.test.OpenSearchIntegTestCase; diff --git a/src/test/java/org/opensearch/ad/transport/ThresholdResultTests.java b/src/test/java/org/opensearch/ad/transport/ThresholdResultTests.java index f24346681..419c09f5a 100644 --- a/src/test/java/org/opensearch/ad/transport/ThresholdResultTests.java +++ b/src/test/java/org/opensearch/ad/transport/ThresholdResultTests.java @@ -23,7 +23,6 @@ import java.util.Collections; import org.hamcrest.Matchers; -import org.opensearch.action.ActionListener; import org.opensearch.action.ActionRequestValidationException; import org.opensearch.action.support.ActionFilters; import org.opensearch.action.support.PlainActionFuture; @@ -34,6 +33,7 @@ import org.opensearch.ad.ml.ThresholdingResult; import org.opensearch.common.io.stream.BytesStreamOutput; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/test/java/org/opensearch/ad/transport/handler/ADSearchHandlerTests.java b/src/test/java/org/opensearch/ad/transport/handler/ADSearchHandlerTests.java index b27d1e8fe..7fd9b98dd 100644 --- a/src/test/java/org/opensearch/ad/transport/handler/ADSearchHandlerTests.java +++ b/src/test/java/org/opensearch/ad/transport/handler/ADSearchHandlerTests.java @@ -21,7 +21,6 @@ import static org.opensearch.ad.settings.AnomalyDetectorSettings.FILTER_BY_BACKEND_ROLES; import org.junit.Before; -import org.opensearch.action.ActionListener; import org.opensearch.action.search.SearchRequest; import org.opensearch.action.search.SearchResponse; import org.opensearch.ad.ADUnitTestCase; @@ -31,6 +30,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.concurrent.ThreadContext; import org.opensearch.commons.ConfigConstants; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; public class ADSearchHandlerTests extends ADUnitTestCase { diff --git a/src/test/java/org/opensearch/ad/transport/handler/AbstractIndexHandlerTest.java b/src/test/java/org/opensearch/ad/transport/handler/AbstractIndexHandlerTest.java index ff9720b02..3851a7fd4 100644 --- a/src/test/java/org/opensearch/ad/transport/handler/AbstractIndexHandlerTest.java +++ b/src/test/java/org/opensearch/ad/transport/handler/AbstractIndexHandlerTest.java @@ -25,7 +25,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.opensearch.ResourceAlreadyExistsException; -import org.opensearch.action.ActionListener; import org.opensearch.action.admin.indices.create.CreateIndexResponse; import org.opensearch.ad.AbstractADTest; import org.opensearch.ad.TestHelpers; @@ -42,6 +41,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.threadpool.ThreadPool; public abstract class AbstractIndexHandlerTest extends AbstractADTest { diff --git a/src/test/java/org/opensearch/ad/transport/handler/AnomalyResultBulkIndexHandlerTests.java b/src/test/java/org/opensearch/ad/transport/handler/AnomalyResultBulkIndexHandlerTests.java index 32fddb530..076fa7068 100644 --- a/src/test/java/org/opensearch/ad/transport/handler/AnomalyResultBulkIndexHandlerTests.java +++ b/src/test/java/org/opensearch/ad/transport/handler/AnomalyResultBulkIndexHandlerTests.java @@ -25,7 +25,6 @@ import java.io.IOException; import java.time.Clock; -import org.opensearch.action.ActionListener; import org.opensearch.action.DocWriteRequest; import org.opensearch.action.admin.indices.create.CreateIndexResponse; import org.opensearch.action.bulk.BulkAction; @@ -43,6 +42,7 @@ import org.opensearch.client.Client; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.settings.Settings; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.index.Index; import org.opensearch.core.index.shard.ShardId; import org.opensearch.index.engine.VersionConflictEngineException; diff --git a/src/test/java/org/opensearch/ad/transport/handler/AnomalyResultHandlerTests.java b/src/test/java/org/opensearch/ad/transport/handler/AnomalyResultHandlerTests.java index f2a0e6cae..5eb078e24 100644 --- a/src/test/java/org/opensearch/ad/transport/handler/AnomalyResultHandlerTests.java +++ b/src/test/java/org/opensearch/ad/transport/handler/AnomalyResultHandlerTests.java @@ -31,7 +31,6 @@ import org.junit.rules.ExpectedException; import org.mockito.ArgumentMatchers; import org.mockito.Mock; -import org.opensearch.action.ActionListener; import org.opensearch.action.index.IndexRequest; import org.opensearch.action.index.IndexResponse; import org.opensearch.ad.NodeStateManager; @@ -41,6 +40,7 @@ import org.opensearch.ad.model.AnomalyResult; import org.opensearch.common.settings.Settings; import org.opensearch.common.unit.TimeValue; +import org.opensearch.core.action.ActionListener; import org.opensearch.core.concurrency.OpenSearchRejectedExecutionException; public class AnomalyResultHandlerTests extends AbstractIndexHandlerTest { diff --git a/src/test/java/org/opensearch/ad/transport/handler/MultiEntityResultHandlerTests.java b/src/test/java/org/opensearch/ad/transport/handler/MultiEntityResultHandlerTests.java index bd1b4b7e9..bab46188c 100644 --- a/src/test/java/org/opensearch/ad/transport/handler/MultiEntityResultHandlerTests.java +++ b/src/test/java/org/opensearch/ad/transport/handler/MultiEntityResultHandlerTests.java @@ -23,7 +23,6 @@ import org.junit.Test; import org.mockito.ArgumentMatchers; -import org.opensearch.action.ActionListener; import org.opensearch.ad.TestHelpers; import org.opensearch.ad.common.exception.AnomalyDetectionException; import org.opensearch.ad.ratelimit.RequestPriority; @@ -31,6 +30,7 @@ import org.opensearch.ad.transport.ADResultBulkAction; import org.opensearch.ad.transport.ADResultBulkRequest; import org.opensearch.ad.transport.ADResultBulkResponse; +import org.opensearch.core.action.ActionListener; public class MultiEntityResultHandlerTests extends AbstractIndexHandlerTest { private MultiEntityResultHandler handler; diff --git a/src/test/java/org/opensearch/ad/util/MultiResponsesDelegateActionListenerTests.java b/src/test/java/org/opensearch/ad/util/MultiResponsesDelegateActionListenerTests.java index d7b385a8d..f879a71c8 100644 --- a/src/test/java/org/opensearch/ad/util/MultiResponsesDelegateActionListenerTests.java +++ b/src/test/java/org/opensearch/ad/util/MultiResponsesDelegateActionListenerTests.java @@ -19,10 +19,10 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import org.opensearch.action.ActionListener; import org.opensearch.ad.model.AnomalyResult; import org.opensearch.ad.model.DetectorProfile; import org.opensearch.ad.model.EntityAnomalyResult; +import org.opensearch.core.action.ActionListener; import org.opensearch.test.OpenSearchTestCase; public class MultiResponsesDelegateActionListenerTests extends OpenSearchTestCase { diff --git a/src/test/java/org/opensearch/search/aggregations/metrics/CardinalityProfileTests.java b/src/test/java/org/opensearch/search/aggregations/metrics/CardinalityProfileTests.java index b9ff56b0a..af49c4a81 100644 --- a/src/test/java/org/opensearch/search/aggregations/metrics/CardinalityProfileTests.java +++ b/src/test/java/org/opensearch/search/aggregations/metrics/CardinalityProfileTests.java @@ -26,7 +26,6 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import org.opensearch.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.search.SearchRequest; @@ -47,6 +46,7 @@ import org.opensearch.common.settings.Settings; import org.opensearch.common.util.BigArrays; import org.opensearch.common.util.BitMixer; +import org.opensearch.core.action.ActionListener; import org.opensearch.search.aggregations.InternalAggregation; import org.opensearch.search.aggregations.InternalAggregations; diff --git a/src/test/java/test/org/opensearch/ad/util/MLUtil.java b/src/test/java/test/org/opensearch/ad/util/MLUtil.java index 870367378..3656e3ab5 100644 --- a/src/test/java/test/org/opensearch/ad/util/MLUtil.java +++ b/src/test/java/test/org/opensearch/ad/util/MLUtil.java @@ -28,6 +28,7 @@ import org.opensearch.ad.settings.AnomalyDetectorSettings; import org.opensearch.common.collect.Tuple; +import com.amazon.randomcutforest.config.TransformMethod; import com.amazon.randomcutforest.parkservices.ThresholdedRandomCutForest; /** @@ -108,6 +109,9 @@ public static EntityModel createNonEmptyModel(String detectorId, int sampleSize, .parallelExecutionEnabled(false) .internalShinglingEnabled(true) .anomalyRate(1 - AnomalyDetectorSettings.THRESHOLD_MIN_PVALUE) + .transformMethod(TransformMethod.NORMALIZE) + .alertOnce(true) + .autoAdjust(true) ); for (int i = 0; i < numDataPoints; i++) { trcf.process(new double[] { random.nextDouble() }, i); diff --git a/src/test/resources/org/opensearch/ad/ml/rcf_3_0_rc3_hc.json b/src/test/resources/org/opensearch/ad/ml/rcf_3_0_rc3_hc.json new file mode 100644 index 000000000..ce00bfcc1 --- /dev/null +++ b/src/test/resources/org/opensearch/ad/ml/rcf_3_0_rc3_hc.json @@ -0,0 +1,138 @@ +{ + "took" : 3, + "timed_out" : false, + "_shards" : { + "total" : 1, + "successful" : 1, + "skipped" : 0, + "failed" : 0 + }, + "hits" : { + "total" : { + "value" : 7, + "relation" : "eq" + }, + "max_score" : 1.0, + "hits" : [ + { + "_index" : ".opendistro-anomaly-checkpoints", + "_id" : "IB2714kBGKQTJF7HPFVf_entity_wQ8Tgkt3JlsUVcG0TqRUYw", + "_score" : 1.0, + "_source" : { + "schema_version" : 3, + "modelV2" : "{\"trcf\":\"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\\u003d\\u003d\"}", + "detectorId" : "IB2714kBGKQTJF7HPFVf", + "entity" : [ + { + "name" : "service", + "value" : "app_6" + } + ], + "timestamp" : "2023-08-09T00:38:52.508295048Z" + } + }, + { + "_index" : ".opendistro-anomaly-checkpoints", + "_id" : "IB2714kBGKQTJF7HPFVf_entity_lIkUMV7LGmM5TGWti0ELEg", + "_score" : 1.0, + "_source" : { + "schema_version" : 3, + "modelV2" : "{\"trcf\":\"CgMyLjETCgMzLjAQKBktQxzr4jYaPyAeKIACMAg4KEAgSAFQAVkAAAAAAAAAAGAAaAFwAXgAggEIRkxPQVRfMzKLAQoDMy4wECgYgTwgCCoIRkxPQVRfMzIwyAE6oAZE/0AARLI1VUSJIABFhagARqUGAER4QABEPQAAQ6gAAEUNwABGQmwARABAAEOVVVVCYAAARGAAAEY7pABEZAAARC9VVUPfgABFA4AARkOwAESboABEgBVVRBQAAEVAIABGI+wARQCAAESCyqtDIQAARUQwAEZdRABE3EAARHRqq0PqgABFN1AARje8AETIoABEKcAAQ0UAAET+oABGd6QARPzAAESM4ABCqAAARVNQAEYm1ABEqgAAREpqq0OPgABFF9AARpLuAER7wABEK9VVQ+cAAEUA4ABGLigARRlQAETXKqtEfYAARaFgAEaFJgBEsOAARGqqq0OwgABFMAAARoZmAES9QABEYcAAQmAAAEUpUABGWYgARPWgAESPtVVD2gAARVeQAEaGRABEoOAARBpVVUN9AABE54AARhxYAETYoABEg8AARBBAAEVFoABGqVgARLsAAESQQABEGEAARVhgAEZEHABE5GAARJgVVUQPgABFZCAARiK8AER+gABEKGqrQ7iAAET8oABGSCAARPUgAER66qtCjgAARTwwAEZU2ABE12AARI6qq0Q7wABFVgAARgQIAEQhAABDwAAAQxkAAESQAABGLiQARScQAETe9VVDdgAARac4AEZdJABEhGAARDAVVUOIAABFBBAARmjgAETTAABER8AAQ0QAAEUV0ABGRtAARPGgAERkVVVDhQAARStAAEZYJABEVcAARDTAAEQFQABFB5AARfWwAERQQABD5gAAQYgAAESsgABGEWgARN8AAESHYABD4QAARUsQAEZnQABEtAAARFHVVUJMAABFHWAARl0oAESEoABEGYAAQ5eAAETmQABGV0QARPOAAES2dVVEiQAARYjYAEZ3GABFOIAARNCVVUPIAABFnHAARjUAAEULsABEsRVVRBxAAEWE0ABGX6QARJ5gAEP8qqtBIAAARL2AAEZ8uABEy0AARKBVVURgwABFcIAARmNwAETEYABEdMAARAWAAEU3kABGPWwARNlAAESLtVVDGAAARVGQAEZfrABEliAARB2AAEOQAABE7EAARo0qAEABSwhZ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\\u003d\"}", + "detectorId" : "IB2714kBGKQTJF7HPFVf", + "entity" : [ + { + "name" : "service", + "value" : "app_4" + } + ], + "timestamp" : "2023-08-09T00:38:52.768990922Z" + } + }, + { + "_index" : ".opendistro-anomaly-checkpoints", + "_id" : "IB2714kBGKQTJF7HPFVf_entity_vH5iAw2Z3nz6NspydtCcrw", + "_score" : 1.0, + "_source" : { + "schema_version" : 3, + "modelV2" : "{\"trcf\":\"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\"}", + "detectorId" : "IB2714kBGKQTJF7HPFVf", + "entity" : [ + { + "name" : "service", + "value" : "app_1" + } + ], + "timestamp" : "2023-08-09T00:38:52.817730771Z" + } + }, + { + "_index" : ".opendistro-anomaly-checkpoints", + "_id" : "IB2714kBGKQTJF7HPFVf_entity_2KWNSGl-JDQ_u9AB1gefsQ", + "_score" : 1.0, + "_source" : { + "schema_version" : 3, + "modelV2" : "{\"trcf\":\"CgMyLjETCgMzLjAQKBktQxzr4jYaPyAeKIACMAg4KEAgSAFQAVkAAAAAAAAAAGAAaAFwAXgAggEIRkxPQVRfMzKLAQoDMy4wECgYgTwgCCoIRkxPQVRfMzIwyAE6oAZEvkAARGfqq0IUAABFLfAARoluAETVwABEmQAAQ62AAEVlgABGS9AARUKAAESp1VVDu4AARX7AAEaEbgBEQEAAQ8jVVUMNAABElqAARcUQAEStAABEG2qrQx0AAETpIABGaswARPPAAEQ76qtDFwAARQzwAEZS+ABE+SAARKGKq0OtAABFclAARmrkAETUoABEkDVVQvAAAEVYUABGkhYARNGAAERZ6qtDlYAARSNwAEZBxABE/cAARI2VVUPdgABFVGAARohSAESiIABEMSqrQzIAAEUE4ABGKtQARRHQAES/lVVDGAAARY+wAEaJegBFVfAARMdAAEPmgABFlXAARoOQAESegABEHcAAQ5gAAETsoABGGcAARG+AAEQgVVVDygAARPCAAEaE4ABFAAAARJDVVUQGwABFWUAARhaAAES6QABEToAAQ/AAAEUa4ABGS6QARBYAAEP7gABDvgAARLygAEZI8ABFHBAARKZgAEQhwABFeZAARkiYAETZoABEpAAARA1AAEV2AABGPVQARMKAAERCAABDuIAARRGAAEYjTABEt+AARJc1VUSFQABFYtAARh4QAET2wABEh5VVQwoAAEVLYABGq6IARM9AAESKFVVDiIAARU8gAEZxoABEEwAARAKAAEPhgABEw8AARfrIAEVd8ABE37VVRC9AAEWnyABGcGgARU4gAET2KqtEQMAARbigAEZ8AABFa6AAROxqq0NpAABFsVAARpVOAEV0EABE3CAAQw8AAEWlGABGd8AARH7AAEP7qqtCvAAARLzAAEZ7hABFJyAARKu1VUL4AABFgMgARpzMAEReAABEJ1VVQ9aAAET7AABGQ+wARWpgAETVCqtDpgAARZ/IAEaGwgBE7MAARJ0gAENnAABFa7AARlJsAEUPYABEprVVQ68AAEV6EABGP4QAROSgAESTIABDuYAARVywAEZZkABFMRAARLEVVUP0AABFhNAARniEAEQkwABDwgAAwtIAAESRgABGZaQARRZgAES2AABEQ0AARYiAAEY7TABEwMAARIwKq0O5AABFUhAARpqEAEABSwhZ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\\u003d\\u003d\"}", + "detectorId" : "IB2714kBGKQTJF7HPFVf", + "entity" : [ + { + "name" : "service", + "value" : "app_0" + } + ], + "timestamp" : "2023-08-09T00:38:52.873945806Z" + } + }, + { + "_index" : ".opendistro-anomaly-checkpoints", + "_id" : "IB2714kBGKQTJF7HPFVf_entity_nSv9-qN1UW8TkMJVwA4jGQ", + "_score" : 1.0, + "_source" : { + "schema_version" : 3, + "modelV2" : "{\"trcf\":\"CgMyLjETCgMzLjAQKBktQxzr4jYaPyAeKIACMAg4KEAgSAFQAVkAAAAAAAAAAGAAaAFwAXgAggEIRkxPQVRfMzKLAQoDMy4wECgYgTwgCCoIRkxPQVRfMzIwyAE6oAZFv7AARUdVVURmQABGFYAARwX9AEWHwABFLJqrRAUAAEYBdABHOYEARaZIAEVwxVVEzeAARjSUAEdCfwBFt4AARYiNVUTZYABGTNQAR1fKAEUYQABEmWAAQ8AAAEVmEABHFPcARZIQAEVGuqtEhaAARhUMAEbxuABFWzAARNWAAEN1AABFoCAARyLvAEWGqABFUZqrRQTwAEYdNABHHz8ARZhQAEVPiqtERAAARhuoAEcS9ABF6EAARYEQAES3gABGQZgAR0tMAEWP+ABFN/AAAAAAAEYJ9ABHEz4ARVxwAES+AAAAAAAARY6AAEcdHABFstAARYYtVUUD8ABGSUQARuIkAEWmMABFWDVVRORgAEYiKABHNlIART7wAEUc8ABEwgAARetoAEbZvgBFhMAARSpAAEN6AABF/2AAR1UvAETzoABEtBVVRGtAAEWHEABG704ARQRgAESaaqsAAAAARWegAEccswBFjGAARTfaq0RLAABGCeQARxAMAEW2AABFCHAAAAAAAEXMqABHKOkARfIgAEWRqqtFE3AARlqAAEdT5ABFq0gARQhlVQAAAABFzJgARxIDAEWNeABFQDqrROSgAEYQLABHA2YARcU4AEVHYABEiSAARhWIAEcUNABE+6AARKNgAEQygABFdRAARxPWAEUO4ABEnVVVAAAAAEVsAABHEigARU/wAEUsGqtFFiAARgEUAEcSAABFiqAARTWlVUTG4ABGCDwARzIMAEWOyABFM8AARPygAEYG0ABG6QQARc1QAEU3tVVDzYAARgnIAEcH1QBFwAgARXPwAET6QABGNvQAR4PSAEXp2ABFmTVVRLXAAEZl0ABHFvwARVmAAEUUIABDVAAARd4wAEd2IQBFn8AARUGAAETWgABGESAARudGAEWWmABFMZAARLOAAEYFLABHRFEARa4IAEV3+qtE9aAARjn8AEc67ABF4UgARUZlVURswABGFMwARyYMAEXDCABFS1VVQ6qAAEYYgABHX+QARdXoAEVF+qtDTgAARhR8AEbgLgBFrWgARUsgAES3YABGGFgARyFAAEABSwhZ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\"}", + "detectorId" : "IB2714kBGKQTJF7HPFVf", + "entity" : [ + { + "name" : "service", + "value" : "app_3" + } + ], + "timestamp" : "2023-08-09T00:38:52.577229634Z" + } + }, + { + "_index" : ".opendistro-anomaly-checkpoints", + "_id" : "IB2714kBGKQTJF7HPFVf_entity_7ZRqBJDIoUDDWntoqV1HlQ", + "_score" : 1.0, + "_source" : { + "schema_version" : 3, + "modelV2" : "{\"trcf\":\"CgMyLjETCgMzLjAQKBktQxzr4jYaPyAeKIACMAg4KEAgSAFQAVkAAAAAAAAAAGAAaAFwAXgAggEIRkxPQVRfMzKLAQoDMy4wECgYgTwgCCoIRkxPQVRfMzIwyAE6oAZFDdAARM5Kq0P2gABFmrgARp2MAEWRWABFFTqrRGsAAEXf2ABGqgoARULgAEUW+qtEgSAAReJ4AEcArwBFcWAARSJaq0P+AABF84gARvvKAEVt8ABFDKqrQ4cAAEXTAABG8bYARTkAAETwdVVEEcAARbRYAEbvRABE6GAARLjVVURQAABFiqAARrj0AEWPIABE8RVVQ/+AAEW00ABHCngARKwAAEQ/KqtC5gAARQ9gAEaqxgBFV1AARSJqq0T9wABF86AARrxwAEVO4ABE3oqrRBsAAEWm6ABG9wIARSBgAET/iqtErAAARb+oAEbXMABFQSAARQIVVUSvAABFwyAARvLMAEWVyABFIiAARFdAAEXzMABHAeYARcawAEVy2qtEYUAARjYkAEb1kgBFlrAARTPaq0QPwABGBuQARuFgAEVGMABE6vVVRIgAAEWwOABGusAARQqQAESCQAAAAAAARUNgAEZjuABFg+gARTRQAEQqQABGBzwARt4gAEVTIABEokAAAAAAAEVzYABG4bIARcBIAEVURVVE8mAARh80AEcC5QBFeSAARP+VVUPyAABFv7AARvsqAEUYcABE3CAARJZAAEWlGABGzVoARaKYAEU9oABETkAARg44AEbQxABEeMAAQ/dVVQAAAABEuYAARxgrAEVxYABFD7qrRBDAAEXXmABG7IwARYYoAEUBKqtELYAARcHAAEblwABFhRAARTB6q0O2AABGBFwARr2mAEWKEABFFjAARFMAAEXhSABG7VYARUAAAEUT0ABEtsAARd24AEbE9gBFzggARW6wAESO4ABGMwQARuxuAETu4ABEjqqrRCMAAEVWAABGo5oARaCAAEVEoABEasAARhN4AEbZHgBFmzgARVd6q0TJYABGIZwARuA2AEUv4ABEv6AAQ7eAAEWPuABG1aQARUnQAETlCqtD0oAARavIAEcGMgBE8QAARMtqq0SdYABFmJAARvKOAEWFSABFNmqrROTgAEYI0ABG5dYARX/gAEUhAABEOMAARfGAAEb28gBFS7AARPMqq0P5gABFtmAARtJeAEABSwhZ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\"}", + "detectorId" : "IB2714kBGKQTJF7HPFVf", + "entity" : [ + { + "name" : "service", + "value" : "app_2" + } + ], + "timestamp" : "2023-08-09T00:38:52.642144555Z" + } + }, + { + "_index" : ".opendistro-anomaly-checkpoints", + "_id" : "IB2714kBGKQTJF7HPFVf_entity_QtODojw6wiq2BERNEZQ6Jw", + "_score" : 1.0, + "_source" : { + "schema_version" : 3, + "modelV2" : "{\"trcf\":\"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\"}", + "detectorId" : "IB2714kBGKQTJF7HPFVf", + "entity" : [ + { + "name" : "service", + "value" : "app_5" + } + ], + "timestamp" : "2023-08-09T00:38:52.701624442Z" + } + } + ] + } +} diff --git a/src/test/resources/org/opensearch/ad/ml/rcf_3_0_rc3_single_stream.json b/src/test/resources/org/opensearch/ad/ml/rcf_3_0_rc3_single_stream.json new file mode 100644 index 000000000..8fb521613 --- /dev/null +++ b/src/test/resources/org/opensearch/ad/ml/rcf_3_0_rc3_single_stream.json @@ -0,0 +1,28 @@ +{ + "took" : 2, + "timed_out" : false, + "_shards" : { + "total" : 1, + "successful" : 1, + "skipped" : 0, + "failed" : 0 + }, + "hits" : { + "total" : { + "value" : 1, + "relation" : "eq" + }, + "max_score" : 1.0, + "hits" : [ + { + "_index" : ".opendistro-anomaly-checkpoints", + "_id" : "gCKZ1okBo8p1xSgDF7tG_model_rcf_0", + "_score" : 1.0, + "_source" : { + "modelV2" : "CgMyLjETCgMzLjAQhgsZLUMc6+I2Gj8gHiiAAjAIOAhAIEgBUAFZAAAAAAAAAABgAGgBcAB4AIIBCEZMT0FUXzMyiwEKAzMuMBAIGIE8IAgqCEZMT0FUXzMyMJQLOtAsRlyEAEYXaABF5tAARih0AEYdtABGC4QARkwEAEZTSABF6YgARmwgAEZD/ABGNyQAReOoAEZgkABGZZQARi64AEYgnABGc9QARjaQAEZQnABGLFAARe8YAEYP0ABGDvAARjoMAEaLgABF9rgARhJwAEYvsABGG4QARj9AAEYriABGo9YARlEwAEYzjABGZSQARjAkAEYmNABGHBAARkLwAEYabABF+FgARcygAEYZwABF9HgARmgMAEYILABFvDAARjr0AEYOGABGV/AARlbEAEZgpABGBigARgJgAEZXLABGchwARg88AEZfZABGCcQARkNsAEXnEABGhKAARfRYAEW60ABGkwYARjTIAEXNUABGgFoARht8AEZIoABGOpwARlHQAEYUtABGVBQARmUEAEZK4ABF/kAARct4AEZVAABGLNAARg6gAEZcfABF37AAReZYAEaDDgBF9+AARnSwAEYJFABGLnwARi3AAEXPcABGWwgARkU8AEaZlgBGiV4ARe3IAEZImABGFlAARmnwAEZQKABFrggARYqAAEY+YABGgDwAReewAEYvlABGfIQARe9YAEYSoABGFUQARgYkAEXHcABFy8AARdkAAEYPfABGA1QAReGYAEYBkABGiTYARhC8AEZJ+ABGGhAARnnMAEYAyABGCKAARa9wAEY7EABGB0gARhb0AEY5KABGZwAARduwAEWy4ABGQ5gARawAAEYByABF8PAARe04AEXn6ABGafwARc2oAEY0gABGMOAARezwAEYNyABGIuAARkU0AEYaqABGAcgARjFsAEY1nABGBbAARhTQAEY6IABGKWQARgioAEYwrABGhJIARgd0AEZFRABGChAARidkAEYAnABGCHQARjJsAEYylABGHZgARgxMAEYIMABGKKwARgkMAEY9cABGQjAARlTMAEajpABF1OgARou4AEYuuABGTVAARjHUAEYVMABGGbgARi0MAEYIcABFv8gARkPQAEYtvABGH5gARkbUAEZ9gABGEWQARiD0AEXDeABGEEAARjuAAEYBLABGePQARh0sAEYm/ABGEQgARgMsAEYgOABF41gARgCQAEX7QABGN4AARiGYAEZKsABGhc4ARj/QAEZJnABGekQARdNYAEW5uABGWewARlQQAEXMmABFpcAARh0sAEYTcABGEjAARiDcAEYrCABGZMwARg6cAEYSfABFyBgARlrsAEaZDABF9xgARZgYAEXlIABGMIQARkQ4AEYYSABGWzwARgDgAEZPYABGVAwARgzEAEZBLABGFUAARhyIAEXFqABGFrAARpP+AEZBSABGQ/AARhL4AEXC+ABF9DAARlz4AEYYmABF3CgARkucAEYuMABGUuAARnOMAEYDpABGVnQARiPUAEYajABGnDYARgmMAEaeggBGG/QARi3oAEXJ0ABGPnQARiaAAEXh8ABGWUAARnucAEXm0ABGHlAARmXYAEX7WABGNegARihIAEY7kABGB8AARkpEAEYZRABGNFAARo2QAEXHkABF0CgARgigAEYWdABGAgAARk2YAEXowABGcAwARiH8AEaOdgBGF+AARgIIAEYFHABGCmgARcUIAEXtqABF9QAARhDIAEYczABGFpQARhM4AEZFoABGN+QARggMAEYh4ABGVcQARkIIAEX6kABF4jAARpR0AEZj4ABGRgAARiMQAEZdTABGG3QARguEAEXpmABGUpwARkvkAEYwDABF1agARgzAAEYK1ABGBVAARjqQAEYj9ABGUCAARdR4AEY3PABGTTwARkVIAEXrcABGS1AARgoIAEYiiABGHrAARiVkAEYobABGEhAARnhoAEYfaABGTpgARmGgAEYEIABF2FAARknYAEYp4ABGktoARnfAAEYqCABGB1wARhe8AEXbSABGOTAARgFgAEZ5EABGGNgARgc8AEZSdABGE2AARiKMAEaCogBFjBAARkpMAEX1qABGHOQARb3gAEYW+ABFtOgARkp8AEZvJABGY+wARf4gAEY4oABGTZAARg+oAEYd4ABGIQAARgxEAEYkmABGQ2AARlSoAEZmNABGABwARj4sAEZERABGMTwARk+IAEY3iABGHpwARhSMAEX3eABFpMAARis8AEYCfABGVmQARisoAEZc8ABGAOgARglsAEY3cABF21AARdzAAEaD5gBGGTQARfuQAEYACABGfWAARjt4AEZyhABFuyAARjhAAEYYSABF75gARgX4AEXwWABGCAQARhUYAEZRBABGJEAARkqIAEWsEABGDQwARiR4AEYEOABGNCQAReNAAEZcdABGMoAARhv0AEZRdABGESgARmPsAEX+CABGKPAARjC0AEYG0ABGE2AARbnAAEYf3ABGEwQARf4YAEYaqABGBcgARkVQAEYdvABGHOAARjK0AEXfIABGrCIARg00AEaLiABGZ/QARoAgAEXXMABGDpAARhEEAEYYhABGOCgARiQkAEZC7ABGYjgARnjAAEYykABF8qgARiq8AEYmoABGSYwARcsgAEXzyABGJnwARgzEAEYW+ABFsKAARc0wAEXn0ABGp+YARhvUAEYa/ABFrQgARjM0AEYxJABGXxwARfeIAEXcCABGHIQARoRkAEYEkABF40AARg5kAEZpBABFxjAARjxkAEX5SABGM/wARjxgAEYxVABF7UAARhHYAEYSMABGDGAARiaMAEZ+iABGUmAAReL4AEZkRABF6WgAReKwAEY/xABGDRAARe2gAEYnFABGdsgARgyQAEZEOABGKkQARefgAEYGVABGFewARglAAEXSCABGDqgARiiUAEYbGABFxKgARiEsAEZycABF9WAARc7AAEXVAABGCzQARgeAAEY4CABGAjwARgpkAEYBfABGC5AARirIAEXK8ABGBGAARjHMAEXHQABFwMAARdt4AEW0CABGGRwARcvwAEZgyABGSlgARj0YAEY/XABGBPAARgwIAEW3OABGA7wARgO8AEY3OABF4fgARptcAEadoABGMWwARpGWAEaIagBGPhQARgT8AEXJcABGKiAARjPsAEYgtABGJQgARiKwAEXz6ABGQdAARi0UAEXo6ABF2tgARgrkAEX2qABFjwAARiC8AEYpUABGLtgARiDsAEZdZABGICwARkngAEYYQABGsLwARbyYAEWmmABGGnQARe4wAEYsJABGHyQARdM4AEYI7ABF9WAARhUgAEYCgABF3IgARgh0AEY53ABGA1AAReUQAEWuoABF59AARdvQAEZPjABGA7QARikQAEYVdABFsgAARoowAEYJEABGkYAARhvAAEYnUABGF6QARlxgAEZIEABGZNAARZUAAEYFIABGMIQARfwIAEYdlABGJoAARd5wAEYnQABGMSAARYh4AEXnSABF5bgARgN4AEZTEABGRWAARd1IAEYIPABF5FAARjnwAEZGXABGB9wARjS8AEXtoABGXhgARaSgAEYvPABF7sAARj2gAEYF3ABFyvgARjmcAEZ8xABGK7AARgUIAEYivABGQGgARdNoAEY0MABGVPAARe4wAEZBNABGAXgARg/0AEXx+ABGFNgARpYGAEW0yABFytAARkhwAEYTxABGTVwARfrQAEY0QABF/TgARiZwAEWiyABGYAAARi5IAEaCugBF7KAARedwAEYR/ABGCmwARcoIAEXl4ABGK1QARi3kAEWkUABGaPQARgMUAEXDUABF/ugARoIyAEYxyABGAQwARe/AAEXkgABGBIQARhjYAEYlPABGOxgARh4QAEXz0ABGRmAARfx4AEXn2ABGGXwARb+4AEZFfABGA2AARk7MAEXN6ABF4UAARfvwAEZXFABFykgARc9QAEYbGABGD+gARdCQAEXIAABGBYQARfeQAEZDSABGCGQARfCYAEYPtABFy0gARhZAAEX2EABGdNwARiSYAEWXOABFlGAARm4oAEYECABGCqQAReDQAEZHrABGY9QARhE0AEYDAABGQ7QARdBQAEYTZABF2qAARgl4AEZ53ABGDogARg1kAEY0GABGF0QARgTwAEYPzABGBOQARghsAEYGhABGjo4ARhc8AEYKbABGGCwARdiIAEXtOABF9PAARik4AEZiSABF/yAARfkAAEXq4ABF4BAARkpwAEZGUABGE3AARkO8AEY0tABGJLgARg+IAEWksABGGhgARhRUAEYAjABGVOAARgKwAEYGnABGHwgARkr0AEYftABFxBgARh/AAEYECABF0+AARi6cAEYbEABFwOgARjaUAEYQcABGTJwARl6gAEYjxABGE9gARmiIAEYJaABF+VgARe/QAEaO+ABGHAQARfLgAEYAYABGLEQARfb4AEXyIABGQAwARhx8AEZ0qABGTxQARjGIAEZZHABGDWgARl/cAEYLwABGVdwARgjkAEWpkABGCMgARgjUAEWuGABGKkQARgogAEZAKABF4tgARZVwAEYrBABGJGgARlqgAEYWMABGcUwARdPIAEZn5ABGHDgARcEoAEXWAABGSdwARkp4AEZeFABGF1wARlOsAEXcMABGHPQARdK4AEYVwABGihwARfQYAEYD2ABF4+AARlYUAEXHuABFxVAARmOIAEZSiABGHLQARl3sAEZ4QABGGxwARjAcAEYyTABFzTgARgRYAEYQaABGPawARj6YAEXOqABF1fgARhcwAEYdkABGHMQARjJoAEZtYABGVYQARcNgAEZ2zABGF8AARklYAEYgOABFqigARijkAEYMkABGBngARghEAEZxdABGXGgARiskAEYCGABGD2AARgLkAEZkXABGQeQARhmoAEaDWABGANgARlkAAEX9gABF4XAARimsAEX/+ABGkqgARlzkAEZFWABGElwARgVQAEaTcABGJEAARdsAAEYSMABF2ngARhJIAEYffABGMQQARew4AEYmCABGKEgARgV0AEYTzABGINwARlAIAEYEQABGAWwARi6gAEYiRABGFBAARlpQAEYS2ABGInwARgN4AEYe7ABGGzQARjmMAEYSRABGBEwARlFgAEYFUABGRVgARl3MAEaoqABGOAQARit0AEZSLABGMjwARngUAEZctABGC+wARiWYAEYq1ABGDUQARmlEAEZgLABGUIQARhCAAEYktABGLuAARdgIAEYBSABGWJAARk60AEZGSABFvZgARk6gAEY7yABGeZQARrPOAEaHgABGSMgARlxIAEYxMABGVOwARdAAAEZXaABGSkwARl3gAEZACABF1mAARn44AEZLiABGLNgARlr4AEYWnABFtkAARi08AEYfaABGZAAARkrgAEZD+ABGSiwARmpMAEYzKABFyzgARgb0AEZM0ABGQWAARiL8AEafpABGNQwARgx8AEYQrABGGmgARoZOAEY2xABGMKwARhZAAEXoiABGAxAARhYsAEY+RABGLhwARhAoAEYpQABGFKgARmXAAEXiYABGFMwARnTwAEYcFABGN3QARg7UAEXW8ABGQXwARgIkAEXpUABGG8wARhrwAEZKMABGcKQARigoAEYfeABGWOgARlT8AEYaZABFn/gARg7sAEY9fABF6igARjNoAEYaiABF29gARmxkAEYbGABF7OgARijUAEY/+ABGSkQARfAoAEYMvABGM4QARjeEAEY6nABGdTAARhOYAEYhqABGBYQARib4AEZo6ABGcjwARj2MAEWWAABGFagARbioAEZJZABGCyAARhaIAEYTkABF3NAARdX4AEaSsABGC7gARgk0AEYcFABGTtgARe4wAEYegABGTFQARhHEAEY8gABGPVQARjxMAEZAWABGLaQARjJAAEYnvABGYPAARjHIAEYAhABGOYgARkYsAEZZMABGB9wARimwAEZInABGgPoARlW4AEZP3ABGdXQARnrsAEZ8HABGM4wARiWMAEYeYABGMKwARlOkAEYrMABF9hgARgSwAEYn5ABGheIARg/kAEYhFABGMzwARlFQAEYb6ABGTKwARhfYAEZL+ABGRUQARmwEAEYI5ABGI/AARk44AEYgoABGK2gARdxAAEZpOABGXvwARpFwAEYSwABGTCwARoBmAEas6ABGb/gARnUYAEYPKABGRgAARjlAAEZFUABF6vgARrmAAEZAkABGHAQARjpYAEYKBABGMvgARbRIAEaA8ABGJDwARkSEAEX6SABGQPAARitQAEYF7ABGnXYARhAkAEY93ABGHbAARpmAAEZNiABGI5QARknoAEYYBABGIBgARmP4AEYoSABF6XAARfIoAEX76ABGEkwARfvgAEYyNABGkOoARgCQAEZLHABGROQARiJ8AEYnLABGV0QARgJ0AEYOgABGMtwARlXEAEZV2ABG0IYARn70AEYMnABGLwQARkRgAEXkWABGLiwARlokAEZkpABGL7AARmFIAEXQaABGLuAARj6YAEYNeABGPdwARdwgAEYVrABFrrgARg94AEYfrABGkZAARidsAEYIPABGB9gARiH4AEZCKABGVVQARjrEAEZMKABGj44ARjL4AEWgIABGg4QARnYYAEZPrABF6ygARhv4AEZEfABGMzAARhywAEXvyABGCQgARgFAAEZJZABF4GAARbJ4AEX5MABGHeAARmYoAEXUEABF3EAARkqwAEZveABGmHgARkDsAEY8LABGXOQARpOQAEXroABGPDAARjy8AEZKGABFvQgARjagAEZwCABGHtgARk1sAEZ+pABGMKQARhYcAEaWUABGT+gARl9sAEZp+ABGYogARot2AEYqcABGNDgARkcYAEYgAABGNQgARhskAEXU8ABGSUQARiS4AEYoDABGQ9wARkWYAEYMBABGfGgARgukAEYyVABGGtgARkeIAEYhSABGYpwARibIAEX8CABGoqQARjSAAEZIaABGT8gARlEUAEZZLABGI9AARkwQAEZlgABGMSgARguYAEY00ABGIvQARf9YAEZJEABGWMQARjl8AEYsXABGM1wARlbAAEZW3ABF+MgARiYgAEaY3gBF/oAARlMYAEYxbABF+XAARjKcAEaAbABGRSQARgGMAEY1cABGokgA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", + "timestamp" : "2023-08-08T19:22:06.423106457Z" + } + } + ] + } +}