|
7 | 7 |
|
8 | 8 | import org.elasticsearch.ElasticsearchException;
|
9 | 9 | import org.elasticsearch.ElasticsearchStatusException;
|
10 |
| -import org.elasticsearch.action.support.master.AcknowledgedResponse; |
11 |
| -import org.elasticsearch.cluster.metadata.MetaData; |
12 | 10 | import org.elasticsearch.common.unit.TimeValue;
|
13 |
| -import org.elasticsearch.xpack.core.ml.action.DeleteForecastAction; |
14 | 11 | import org.elasticsearch.xpack.core.ml.job.config.AnalysisConfig;
|
15 | 12 | import org.elasticsearch.xpack.core.ml.job.config.AnalysisLimits;
|
16 | 13 | import org.elasticsearch.xpack.core.ml.job.config.DataDescription;
|
@@ -279,104 +276,6 @@ public void testOverflowToDisk() throws Exception {
|
279 | 276 |
|
280 | 277 | }
|
281 | 278 |
|
282 |
| - public void testDelete() throws Exception { |
283 |
| - Detector.Builder detector = new Detector.Builder("mean", "value"); |
284 |
| - |
285 |
| - TimeValue bucketSpan = TimeValue.timeValueHours(1); |
286 |
| - AnalysisConfig.Builder analysisConfig = new AnalysisConfig.Builder(Collections.singletonList(detector.build())); |
287 |
| - analysisConfig.setBucketSpan(bucketSpan); |
288 |
| - DataDescription.Builder dataDescription = new DataDescription.Builder(); |
289 |
| - dataDescription.setTimeFormat("epoch"); |
290 |
| - |
291 |
| - Job.Builder job = new Job.Builder("forecast-it-test-delete"); |
292 |
| - job.setAnalysisConfig(analysisConfig); |
293 |
| - job.setDataDescription(dataDescription); |
294 |
| - |
295 |
| - registerJob(job); |
296 |
| - putJob(job); |
297 |
| - openJob(job.getId()); |
298 |
| - |
299 |
| - long now = Instant.now().getEpochSecond(); |
300 |
| - long timestamp = now - 50 * bucketSpan.seconds(); |
301 |
| - List<String> data = new ArrayList<>(); |
302 |
| - while (timestamp < now) { |
303 |
| - data.add(createJsonRecord(createRecord(timestamp, 10.0))); |
304 |
| - data.add(createJsonRecord(createRecord(timestamp, 30.0))); |
305 |
| - timestamp += bucketSpan.seconds(); |
306 |
| - } |
307 |
| - |
308 |
| - postData(job.getId(), data.stream().collect(Collectors.joining())); |
309 |
| - flushJob(job.getId(), false); |
310 |
| - String forecastIdDefaultDurationDefaultExpiry = forecast(job.getId(), null, null); |
311 |
| - String forecastIdDuration1HourNoExpiry = forecast(job.getId(), TimeValue.timeValueHours(1), TimeValue.ZERO); |
312 |
| - waitForecastToFinish(job.getId(), forecastIdDefaultDurationDefaultExpiry); |
313 |
| - waitForecastToFinish(job.getId(), forecastIdDuration1HourNoExpiry); |
314 |
| - closeJob(job.getId()); |
315 |
| - |
316 |
| - { |
317 |
| - ForecastRequestStats forecastStats = getForecastStats(job.getId(), forecastIdDefaultDurationDefaultExpiry); |
318 |
| - assertNotNull(forecastStats); |
319 |
| - ForecastRequestStats otherStats = getForecastStats(job.getId(), forecastIdDuration1HourNoExpiry); |
320 |
| - assertNotNull(otherStats); |
321 |
| - } |
322 |
| - |
323 |
| - { |
324 |
| - DeleteForecastAction.Request request = new DeleteForecastAction.Request(job.getId(), |
325 |
| - forecastIdDefaultDurationDefaultExpiry + "," + forecastIdDuration1HourNoExpiry); |
326 |
| - AcknowledgedResponse response = client().execute(DeleteForecastAction.INSTANCE, request).actionGet(); |
327 |
| - assertTrue(response.isAcknowledged()); |
328 |
| - } |
329 |
| - |
330 |
| - { |
331 |
| - ForecastRequestStats forecastStats = getForecastStats(job.getId(), forecastIdDefaultDurationDefaultExpiry); |
332 |
| - assertNull(forecastStats); |
333 |
| - ForecastRequestStats otherStats = getForecastStats(job.getId(), forecastIdDuration1HourNoExpiry); |
334 |
| - assertNull(otherStats); |
335 |
| - } |
336 |
| - |
337 |
| - { |
338 |
| - DeleteForecastAction.Request request = new DeleteForecastAction.Request(job.getId(), "forecast-does-not-exist"); |
339 |
| - ElasticsearchException e = expectThrows(ElasticsearchException.class, |
340 |
| - () -> client().execute(DeleteForecastAction.INSTANCE, request).actionGet()); |
341 |
| - assertThat(e.getMessage(), |
342 |
| - equalTo("No forecast(s) [forecast-does-not-exist] exists for job [forecast-it-test-delete]")); |
343 |
| - } |
344 |
| - |
345 |
| - { |
346 |
| - DeleteForecastAction.Request request = new DeleteForecastAction.Request(job.getId(), MetaData.ALL); |
347 |
| - AcknowledgedResponse response = client().execute(DeleteForecastAction.INSTANCE, request).actionGet(); |
348 |
| - assertTrue(response.isAcknowledged()); |
349 |
| - } |
350 |
| - |
351 |
| - { |
352 |
| - Job.Builder otherJob = new Job.Builder("forecasts-delete-with-all-and-allow-no-forecasts"); |
353 |
| - otherJob.setAnalysisConfig(analysisConfig); |
354 |
| - otherJob.setDataDescription(dataDescription); |
355 |
| - |
356 |
| - registerJob(otherJob); |
357 |
| - putJob(otherJob); |
358 |
| - DeleteForecastAction.Request request = new DeleteForecastAction.Request(otherJob.getId(), MetaData.ALL); |
359 |
| - AcknowledgedResponse response = client().execute(DeleteForecastAction.INSTANCE, request).actionGet(); |
360 |
| - assertTrue(response.isAcknowledged()); |
361 |
| - } |
362 |
| - |
363 |
| - { |
364 |
| - Job.Builder otherJob = new Job.Builder("forecasts-delete-with-all-and-not-allow-no-forecasts"); |
365 |
| - otherJob.setAnalysisConfig(analysisConfig); |
366 |
| - otherJob.setDataDescription(dataDescription); |
367 |
| - |
368 |
| - registerJob(otherJob); |
369 |
| - putJob(otherJob); |
370 |
| - |
371 |
| - DeleteForecastAction.Request request = new DeleteForecastAction.Request(otherJob.getId(), MetaData.ALL); |
372 |
| - request.setAllowNoForecasts(false); |
373 |
| - ElasticsearchException e = expectThrows(ElasticsearchException.class, |
374 |
| - () -> client().execute(DeleteForecastAction.INSTANCE, request).actionGet()); |
375 |
| - assertThat(e.getMessage(), |
376 |
| - equalTo("No forecast(s) [_all] exists for job [forecasts-delete-with-all-and-not-allow-no-forecasts]")); |
377 |
| - } |
378 |
| - } |
379 |
| - |
380 | 279 | private void createDataWithLotsOfClientIps(TimeValue bucketSpan, Job.Builder job) throws IOException {
|
381 | 280 | long now = Instant.now().getEpochSecond();
|
382 | 281 | long timestamp = now - 15 * bucketSpan.seconds();
|
|
0 commit comments