From 5b2ef6e98e22a7961670482d24f4dd987123b4c8 Mon Sep 17 00:00:00 2001 From: David Roberts Date: Mon, 22 May 2017 11:04:27 +0100 Subject: [PATCH] [ML] Ignore IndexNotFoundException when deleting quantiles (elastic/x-pack-elasticsearch#1507) Relates elastic/elasticsearch#24518 Original commit: elastic/x-pack-elasticsearch@34ee52443cc84c7949d3bcadd08fae099712c805 --- .../ml/job/persistence/JobStorageDeletionTask.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/org/elasticsearch/xpack/ml/job/persistence/JobStorageDeletionTask.java b/plugin/src/main/java/org/elasticsearch/xpack/ml/job/persistence/JobStorageDeletionTask.java index cf914491a45..6189afb06d8 100644 --- a/plugin/src/main/java/org/elasticsearch/xpack/ml/job/persistence/JobStorageDeletionTask.java +++ b/plugin/src/main/java/org/elasticsearch/xpack/ml/job/persistence/JobStorageDeletionTask.java @@ -109,7 +109,16 @@ public class JobStorageDeletionTask extends Task { private void deleteQuantiles(String jobId, Client client, ActionListener finishedHandler) { client.prepareDelete(AnomalyDetectorsIndex.jobStateIndexName(), Quantiles.TYPE.getPreferredName(), Quantiles.documentId(jobId)) - .execute(finishedHandler); + .execute(ActionListener.wrap( + finishedHandler::onResponse, + e -> { + // It's not a problem for us if the index wasn't found - it's equivalent to document not found + if (e instanceof IndexNotFoundException) { + finishedHandler.onResponse(new DeleteResponse()); + } else { + finishedHandler.onFailure(e); + } + })); } private void deleteModelState(String jobId, Client client, ActionListener listener) {