|  | @@ -34,9 +34,9 @@ import org.elasticsearch.client.RequestOptions;
 | 
	
		
			
				|  |  |  import org.elasticsearch.client.RestHighLevelClient;
 | 
	
		
			
				|  |  |  import org.elasticsearch.client.ml.CloseJobRequest;
 | 
	
		
			
				|  |  |  import org.elasticsearch.client.ml.CloseJobResponse;
 | 
	
		
			
				|  |  | +import org.elasticsearch.client.ml.DeleteDatafeedRequest;
 | 
	
		
			
				|  |  |  import org.elasticsearch.client.ml.DeleteForecastRequest;
 | 
	
		
			
				|  |  |  import org.elasticsearch.client.ml.DeleteJobRequest;
 | 
	
		
			
				|  |  | -import org.elasticsearch.client.ml.DeleteJobResponse;
 | 
	
		
			
				|  |  |  import org.elasticsearch.client.ml.FlushJobRequest;
 | 
	
		
			
				|  |  |  import org.elasticsearch.client.ml.FlushJobResponse;
 | 
	
		
			
				|  |  |  import org.elasticsearch.client.ml.ForecastJobRequest;
 | 
	
	
		
			
				|  | @@ -264,7 +264,7 @@ public class MlClientDocumentationIT extends ESRestHighLevelClientTestCase {
 | 
	
		
			
				|  |  |              //tag::x-pack-delete-ml-job-request
 | 
	
		
			
				|  |  |              DeleteJobRequest deleteJobRequest = new DeleteJobRequest("my-first-machine-learning-job");
 | 
	
		
			
				|  |  |              deleteJobRequest.setForce(false); //<1>
 | 
	
		
			
				|  |  | -            DeleteJobResponse deleteJobResponse = client.machineLearning().deleteJob(deleteJobRequest, RequestOptions.DEFAULT);
 | 
	
		
			
				|  |  | +            AcknowledgedResponse deleteJobResponse = client.machineLearning().deleteJob(deleteJobRequest, RequestOptions.DEFAULT);
 | 
	
		
			
				|  |  |              //end::x-pack-delete-ml-job-request
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              //tag::x-pack-delete-ml-job-response
 | 
	
	
		
			
				|  | @@ -273,9 +273,9 @@ public class MlClientDocumentationIT extends ESRestHighLevelClientTestCase {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              //tag::x-pack-delete-ml-job-request-listener
 | 
	
		
			
				|  |  | -            ActionListener<DeleteJobResponse> listener = new ActionListener<DeleteJobResponse>() {
 | 
	
		
			
				|  |  | +            ActionListener<AcknowledgedResponse> listener = new ActionListener<AcknowledgedResponse>() {
 | 
	
		
			
				|  |  |                  @Override
 | 
	
		
			
				|  |  | -                public void onResponse(DeleteJobResponse deleteJobResponse) {
 | 
	
		
			
				|  |  | +                public void onResponse(AcknowledgedResponse acknowledgedResponse) {
 | 
	
		
			
				|  |  |                      // <1>
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -587,6 +587,61 @@ public class MlClientDocumentationIT extends ESRestHighLevelClientTestCase {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    public void testDeleteDatafeed() throws Exception {
 | 
	
		
			
				|  |  | +        RestHighLevelClient client = highLevelClient();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        String jobId = "test-delete-datafeed-job";
 | 
	
		
			
				|  |  | +        Job job = MachineLearningIT.buildJob(jobId);
 | 
	
		
			
				|  |  | +        client.machineLearning().putJob(new PutJobRequest(job), RequestOptions.DEFAULT);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        String datafeedId = "test-delete-datafeed";
 | 
	
		
			
				|  |  | +        DatafeedConfig datafeed = DatafeedConfig.builder(datafeedId, jobId).setIndices("foo").build();
 | 
	
		
			
				|  |  | +        client.machineLearning().putDatafeed(new PutDatafeedRequest(datafeed), RequestOptions.DEFAULT);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            //tag::x-pack-delete-ml-datafeed-request
 | 
	
		
			
				|  |  | +            DeleteDatafeedRequest deleteDatafeedRequest = new DeleteDatafeedRequest(datafeedId);
 | 
	
		
			
				|  |  | +            deleteDatafeedRequest.setForce(false); //<1>
 | 
	
		
			
				|  |  | +            AcknowledgedResponse deleteDatafeedResponse = client.machineLearning().deleteDatafeed(
 | 
	
		
			
				|  |  | +                    deleteDatafeedRequest, RequestOptions.DEFAULT);
 | 
	
		
			
				|  |  | +            //end::x-pack-delete-ml-datafeed-request
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //tag::x-pack-delete-ml-datafeed-response
 | 
	
		
			
				|  |  | +            boolean isAcknowledged = deleteDatafeedResponse.isAcknowledged(); //<1>
 | 
	
		
			
				|  |  | +            //end::x-pack-delete-ml-datafeed-response
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // Recreate datafeed to allow second deletion
 | 
	
		
			
				|  |  | +        client.machineLearning().putDatafeed(new PutDatafeedRequest(datafeed), RequestOptions.DEFAULT);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            //tag::x-pack-delete-ml-datafeed-request-listener
 | 
	
		
			
				|  |  | +            ActionListener<AcknowledgedResponse> listener = new ActionListener<AcknowledgedResponse>() {
 | 
	
		
			
				|  |  | +                @Override
 | 
	
		
			
				|  |  | +                public void onResponse(AcknowledgedResponse acknowledgedResponse) {
 | 
	
		
			
				|  |  | +                    // <1>
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                @Override
 | 
	
		
			
				|  |  | +                public void onFailure(Exception e) {
 | 
	
		
			
				|  |  | +                    // <2>
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +            //end::x-pack-delete-ml-datafeed-request-listener
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            // Replace the empty listener by a blocking listener in test
 | 
	
		
			
				|  |  | +            final CountDownLatch latch = new CountDownLatch(1);
 | 
	
		
			
				|  |  | +            listener = new LatchedActionListener<>(listener, latch);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //tag::x-pack-delete-ml-datafeed-request-async
 | 
	
		
			
				|  |  | +            DeleteDatafeedRequest deleteDatafeedRequest = new DeleteDatafeedRequest(datafeedId);
 | 
	
		
			
				|  |  | +            client.machineLearning().deleteDatafeedAsync(deleteDatafeedRequest, RequestOptions.DEFAULT, listener); // <1>
 | 
	
		
			
				|  |  | +            //end::x-pack-delete-ml-datafeed-request-async
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            assertTrue(latch.await(30L, TimeUnit.SECONDS));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      public void testGetBuckets() throws IOException, InterruptedException {
 | 
	
		
			
				|  |  |          RestHighLevelClient client = highLevelClient();
 | 
	
		
			
				|  |  |  
 |