Skip to content

Commit d4946f0

Browse files
authored
Refactor ADTask and Related Components (#969)
* Refactor ADTask and Related Components This PR includes several key refactoring changes: - Extracts common code from ADTask into TimeSeriesTask, creating ForecastTask for forecasting-specific logic. - Consolidates common code from ADTaskType into TaskType and introduces ForecastTaskType for forecasting-related purposes. - Renames ADTaskState to TaskState for consistent code reuse. - Renames the method getId in ADTask to getConfigId to differentiate it from other IDs like task id. Testing done: 1. Added unit tests for the new code to ensure functionality. 2. Executed a successful Gradle build. Signed-off-by: Kaituo Li <[email protected]> * add comments and address compiler errors Signed-off-by: Kaituo Li <[email protected]> * address Amit's comments and address compiler failure Signed-off-by: Kaituo Li <[email protected]> --------- Signed-off-by: Kaituo Li <[email protected]>
1 parent 1130a1b commit d4946f0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1545
-692
lines changed

src/main/java/org/opensearch/ad/AnomalyDetectorJobRunner.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import org.opensearch.action.index.IndexRequest;
3333
import org.opensearch.action.support.WriteRequest;
3434
import org.opensearch.ad.indices.ADIndexManagement;
35-
import org.opensearch.ad.model.ADTaskState;
3635
import org.opensearch.ad.model.AnomalyDetector;
3736
import org.opensearch.ad.settings.AnomalyDetectorSettings;
3837
import org.opensearch.ad.task.ADTaskManager;
@@ -64,6 +63,7 @@
6463
import org.opensearch.timeseries.constant.CommonName;
6564
import org.opensearch.timeseries.function.ExecutorFunction;
6665
import org.opensearch.timeseries.model.Job;
66+
import org.opensearch.timeseries.model.TaskState;
6767
import org.opensearch.timeseries.util.SecurityUtil;
6868

6969
import com.google.common.base.Throwables;
@@ -509,7 +509,7 @@ private void stopAdJobForEndRunException(
509509
executionStartTime,
510510
error,
511511
true,
512-
ADTaskState.STOPPED.name(),
512+
TaskState.STOPPED.name(),
513513
recorder,
514514
detector
515515
)

src/main/java/org/opensearch/ad/cluster/ADDataMigrator.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
import static org.opensearch.ad.model.ADTask.DETECTOR_ID_FIELD;
1616
import static org.opensearch.ad.model.ADTask.IS_LATEST_FIELD;
1717
import static org.opensearch.ad.model.ADTask.TASK_TYPE_FIELD;
18-
import static org.opensearch.ad.model.ADTaskType.taskTypeToString;
1918
import static org.opensearch.ad.settings.AnomalyDetectorSettings.MAX_DETECTOR_UPPER_LIMIT;
2019
import static org.opensearch.core.xcontent.XContentParserUtils.ensureExpectedToken;
20+
import static org.opensearch.timeseries.model.TaskType.taskTypeToString;
2121
import static org.opensearch.timeseries.util.RestHandlerUtils.XCONTENT_WITH_TYPE;
2222
import static org.opensearch.timeseries.util.RestHandlerUtils.createXContentParserFromRegistry;
2323

@@ -39,7 +39,6 @@
3939
import org.opensearch.ad.constant.ADCommonName;
4040
import org.opensearch.ad.indices.ADIndexManagement;
4141
import org.opensearch.ad.model.ADTask;
42-
import org.opensearch.ad.model.ADTaskState;
4342
import org.opensearch.ad.model.ADTaskType;
4443
import org.opensearch.ad.model.AnomalyDetector;
4544
import org.opensearch.ad.model.DetectorInternalState;
@@ -59,6 +58,7 @@
5958
import org.opensearch.timeseries.constant.CommonName;
6059
import org.opensearch.timeseries.function.ExecutorFunction;
6160
import org.opensearch.timeseries.model.Job;
61+
import org.opensearch.timeseries.model.TaskState;
6262
import org.opensearch.timeseries.util.ExceptionUtil;
6363

6464
/**
@@ -245,15 +245,15 @@ private void createRealtimeADTask(Job job, String error, ConcurrentLinkedQueue<J
245245
Instant now = Instant.now();
246246
String userName = job.getUser() != null ? job.getUser().getName() : null;
247247
ADTask adTask = new ADTask.Builder()
248-
.detectorId(detector.getId())
248+
.configId(detector.getId())
249249
.detector(detector)
250250
.error(error)
251251
.isLatest(true)
252252
.taskType(taskType.name())
253253
.executionStartTime(now)
254254
.taskProgress(0.0f)
255255
.initProgress(0.0f)
256-
.state(ADTaskState.CREATED.name())
256+
.state(TaskState.CREATED.name())
257257
.lastUpdateTime(now)
258258
.startedBy(userName)
259259
.coordinatingNode(null)

src/main/java/org/opensearch/ad/cluster/ClusterManagerEventListener.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.opensearch.client.Client;
2121
import org.opensearch.cluster.LocalNodeClusterManagerListener;
2222
import org.opensearch.cluster.service.ClusterService;
23-
import org.opensearch.common.component.LifecycleListener;
23+
import org.opensearch.common.lifecycle.LifecycleListener;
2424
import org.opensearch.common.settings.Setting;
2525
import org.opensearch.common.settings.Settings;
2626
import org.opensearch.common.unit.TimeValue;

src/main/java/org/opensearch/ad/cluster/HashRing.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@
4646
import org.opensearch.cluster.routing.Murmur3HashFunction;
4747
import org.opensearch.cluster.service.ClusterService;
4848
import org.opensearch.common.settings.Settings;
49-
import org.opensearch.common.transport.TransportAddress;
5049
import org.opensearch.common.unit.TimeValue;
50+
import org.opensearch.core.common.transport.TransportAddress;
5151
import org.opensearch.plugins.PluginInfo;
5252
import org.opensearch.timeseries.common.exception.TimeSeriesException;
5353
import org.opensearch.timeseries.constant.CommonName;

0 commit comments

Comments
 (0)