|  | @@ -13,6 +13,7 @@ import org.elasticsearch.action.DocWriteResponse;
 | 
	
		
			
				|  |  |  import org.elasticsearch.action.delete.DeleteResponse;
 | 
	
		
			
				|  |  |  import org.elasticsearch.action.index.IndexResponse;
 | 
	
		
			
				|  |  |  import org.elasticsearch.cluster.service.ClusterService;
 | 
	
		
			
				|  |  | +import org.elasticsearch.core.Tuple;
 | 
	
		
			
				|  |  |  import org.elasticsearch.persistent.PersistentTasksCustomMetadata;
 | 
	
		
			
				|  |  |  import org.elasticsearch.rest.RestStatus;
 | 
	
		
			
				|  |  |  import org.elasticsearch.xpack.core.ClientHelper;
 | 
	
	
		
			
				|  | @@ -76,18 +77,19 @@ public class DatafeedConfigProviderIT extends MlSingleNodeTestCase {
 | 
	
		
			
				|  |  |      public void testCrud() throws InterruptedException {
 | 
	
		
			
				|  |  |          String datafeedId = "df1";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        AtomicReference<IndexResponse> indexResponseHolder = new AtomicReference<>();
 | 
	
		
			
				|  |  | +        AtomicReference<Tuple<DatafeedConfig, IndexResponse>> responseHolder = new AtomicReference<>();
 | 
	
		
			
				|  |  |          AtomicReference<Exception> exceptionHolder = new AtomicReference<>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // Create datafeed config
 | 
	
		
			
				|  |  |          DatafeedConfig.Builder config = createDatafeedConfig(datafeedId, "j1");
 | 
	
		
			
				|  |  |          blockingCall(
 | 
	
		
			
				|  |  |              actionListener -> datafeedConfigProvider.putDatafeedConfig(config.build(), createSecurityHeader(), actionListener),
 | 
	
		
			
				|  |  | -            indexResponseHolder,
 | 
	
		
			
				|  |  | +            responseHolder,
 | 
	
		
			
				|  |  |              exceptionHolder
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  |          assertNull(exceptionHolder.get());
 | 
	
		
			
				|  |  | -        assertEquals(RestStatus.CREATED, indexResponseHolder.get().status());
 | 
	
		
			
				|  |  | +        assertEquals(RestStatus.CREATED, responseHolder.get().v2().status());
 | 
	
		
			
				|  |  | +        assertThat(responseHolder.get().v1().getHeaders(), not(anEmptyMap()));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // Read datafeed config
 | 
	
		
			
				|  |  |          AtomicReference<DatafeedConfig.Builder> configBuilderHolder = new AtomicReference<>();
 | 
	
	
		
			
				|  | @@ -162,27 +164,27 @@ public class DatafeedConfigProviderIT extends MlSingleNodeTestCase {
 | 
	
		
			
				|  |  |      public void testMultipleCreateAndDeletes() throws InterruptedException {
 | 
	
		
			
				|  |  |          String datafeedId = "df2";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        AtomicReference<IndexResponse> indexResponseHolder = new AtomicReference<>();
 | 
	
		
			
				|  |  | +        AtomicReference<Tuple<DatafeedConfig, IndexResponse>> responseHolder = new AtomicReference<>();
 | 
	
		
			
				|  |  |          AtomicReference<Exception> exceptionHolder = new AtomicReference<>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // Create datafeed config
 | 
	
		
			
				|  |  |          DatafeedConfig.Builder config = createDatafeedConfig(datafeedId, "j1");
 | 
	
		
			
				|  |  |          blockingCall(
 | 
	
		
			
				|  |  |              actionListener -> datafeedConfigProvider.putDatafeedConfig(config.build(), Collections.emptyMap(), actionListener),
 | 
	
		
			
				|  |  | -            indexResponseHolder,
 | 
	
		
			
				|  |  | +            responseHolder,
 | 
	
		
			
				|  |  |              exceptionHolder
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  |          assertNull(exceptionHolder.get());
 | 
	
		
			
				|  |  | -        assertEquals(RestStatus.CREATED, indexResponseHolder.get().status());
 | 
	
		
			
				|  |  | +        assertEquals(RestStatus.CREATED, responseHolder.get().v2().status());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // cannot create another with the same id
 | 
	
		
			
				|  |  | -        indexResponseHolder.set(null);
 | 
	
		
			
				|  |  | +        responseHolder.set(null);
 | 
	
		
			
				|  |  |          blockingCall(
 | 
	
		
			
				|  |  |              actionListener -> datafeedConfigProvider.putDatafeedConfig(config.build(), Collections.emptyMap(), actionListener),
 | 
	
		
			
				|  |  | -            indexResponseHolder,
 | 
	
		
			
				|  |  | +            responseHolder,
 | 
	
		
			
				|  |  |              exceptionHolder
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  | -        assertNull(indexResponseHolder.get());
 | 
	
		
			
				|  |  | +        assertNull(responseHolder.get());
 | 
	
		
			
				|  |  |          assertThat(exceptionHolder.get(), instanceOf(ResourceAlreadyExistsException.class));
 | 
	
		
			
				|  |  |          assertEquals("A datafeed with id [df2] already exists", exceptionHolder.get().getMessage());
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -567,7 +569,9 @@ public class DatafeedConfigProviderIT extends MlSingleNodeTestCase {
 | 
	
		
			
				|  |  |      private DatafeedConfig putDatafeedConfig(DatafeedConfig.Builder builder, Map<String, String> headers) throws Exception {
 | 
	
		
			
				|  |  |          builder.setHeaders(headers);
 | 
	
		
			
				|  |  |          DatafeedConfig config = builder.build();
 | 
	
		
			
				|  |  | -        this.<IndexResponse>blockingCall(actionListener -> datafeedConfigProvider.putDatafeedConfig(config, headers, actionListener));
 | 
	
		
			
				|  |  | +        this.<Tuple<DatafeedConfig, IndexResponse>>blockingCall(
 | 
	
		
			
				|  |  | +            actionListener -> datafeedConfigProvider.putDatafeedConfig(config, headers, actionListener)
 | 
	
		
			
				|  |  | +        );
 | 
	
		
			
				|  |  |          return config;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |