diff --git a/server/src/internalClusterTest/java/org/elasticsearch/action/IndicesRequestIT.java b/server/src/internalClusterTest/java/org/elasticsearch/action/IndicesRequestIT.java index 271984fd1ae5e..5df0e374ee9db 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/action/IndicesRequestIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/action/IndicesRequestIT.java @@ -55,7 +55,6 @@ import org.elasticsearch.action.get.MultiGetRequest; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchTransportService; import org.elasticsearch.action.search.SearchType; import org.elasticsearch.action.support.replication.TransportReplicationActionTests; @@ -102,7 +101,7 @@ import java.util.function.Function; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; -import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailuresAndResponse; import static org.hamcrest.Matchers.emptyIterable; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThan; @@ -560,9 +559,10 @@ public void testSearchQueryThenFetch() throws Exception { refresh(); SearchRequest searchRequest = new SearchRequest(randomIndicesOrAliases).searchType(SearchType.QUERY_THEN_FETCH); - SearchResponse searchResponse = internalCluster().coordOnlyNodeClient().search(searchRequest).actionGet(); - assertNoFailures(searchResponse); - assertThat(searchResponse.getHits().getTotalHits().value, greaterThan(0L)); + assertNoFailuresAndResponse( + internalCluster().coordOnlyNodeClient().search(searchRequest), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, greaterThan(0L)) + ); clearInterceptedActions(); assertIndicesSubset( @@ -589,9 +589,10 @@ public void testSearchDfsQueryThenFetch() throws Exception { refresh(); SearchRequest searchRequest = new SearchRequest(randomIndicesOrAliases).searchType(SearchType.DFS_QUERY_THEN_FETCH); - SearchResponse searchResponse = internalCluster().coordOnlyNodeClient().search(searchRequest).actionGet(); - assertNoFailures(searchResponse); - assertThat(searchResponse.getHits().getTotalHits().value, greaterThan(0L)); + assertNoFailuresAndResponse( + internalCluster().coordOnlyNodeClient().search(searchRequest), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, greaterThan(0L)) + ); clearInterceptedActions(); assertIndicesSubset( diff --git a/server/src/internalClusterTest/java/org/elasticsearch/action/admin/cluster/node/tasks/TasksIT.java b/server/src/internalClusterTest/java/org/elasticsearch/action/admin/cluster/node/tasks/TasksIT.java index 46737571a15ab..d17ae1c7fce0d 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/action/admin/cluster/node/tasks/TasksIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/action/admin/cluster/node/tasks/TasksIT.java @@ -27,7 +27,6 @@ import org.elasticsearch.action.bulk.BulkAction; import org.elasticsearch.action.index.IndexAction; import org.elasticsearch.action.search.SearchAction; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchTransportService; import org.elasticsearch.action.support.WriteRequest; import org.elasticsearch.action.support.replication.ReplicationResponse; @@ -83,6 +82,7 @@ import static org.elasticsearch.core.TimeValue.timeValueSeconds; import static org.elasticsearch.http.HttpTransportSettings.SETTING_HTTP_MAX_HEADER_SIZE; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertFutureThrows; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.containsString; @@ -771,17 +771,19 @@ public void testTaskStoringSuccessfulResult() throws Exception { assertNoFailures(indicesAdmin().prepareRefresh(TaskResultsService.TASK_INDEX).get()); - SearchResponse searchResponse = prepareSearch(TaskResultsService.TASK_INDEX).setSource( - SearchSourceBuilder.searchSource().query(QueryBuilders.termQuery("task.action", taskInfo.action())) - ).get(); - - assertEquals(1L, searchResponse.getHits().getTotalHits().value); - - searchResponse = prepareSearch(TaskResultsService.TASK_INDEX).setSource( - SearchSourceBuilder.searchSource().query(QueryBuilders.termQuery("task.node", taskInfo.taskId().getNodeId())) - ).get(); + assertHitCount( + prepareSearch(TaskResultsService.TASK_INDEX).setSource( + SearchSourceBuilder.searchSource().query(QueryBuilders.termQuery("task.action", taskInfo.action())) + ), + 1L + ); - assertEquals(1L, searchResponse.getHits().getTotalHits().value); + assertHitCount( + prepareSearch(TaskResultsService.TASK_INDEX).setSource( + SearchSourceBuilder.searchSource().query(QueryBuilders.termQuery("task.node", taskInfo.taskId().getNodeId())) + ), + 1L + ); GetTaskResponse getResponse = expectFinishedTask(taskId); assertEquals(result, getResponse.getTask().getResponseAsMap()); diff --git a/server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/SplitIndexIT.java b/server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/SplitIndexIT.java index 54add487a3dd4..e5ff2a6ce1cc5 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/SplitIndexIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/SplitIndexIT.java @@ -24,7 +24,7 @@ import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; +import org.elasticsearch.action.search.SearchRequestBuilder; import org.elasticsearch.client.internal.Client; import org.elasticsearch.cluster.ClusterState; import org.elasticsearch.cluster.metadata.IndexMetadata; @@ -60,7 +60,8 @@ import static org.elasticsearch.index.query.QueryBuilders.termQuery; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; -import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailuresAndResponse; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse; import static org.elasticsearch.xcontent.XContentFactory.jsonBuilder; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; @@ -243,27 +244,28 @@ private void splitToN(int sourceShards, int firstSplitShards, int secondSplitSha assertNested("first_split", numDocs); assertNested("second_split", numDocs); } - assertAllUniqueDocs(prepareSearch("second_split").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")).get(), numDocs); - assertAllUniqueDocs(prepareSearch("first_split").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")).get(), numDocs); - assertAllUniqueDocs(prepareSearch("source").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")).get(), numDocs); + assertAllUniqueDocs(prepareSearch("second_split").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), numDocs); + assertAllUniqueDocs(prepareSearch("first_split").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), numDocs); + assertAllUniqueDocs(prepareSearch("source").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), numDocs); } public void assertNested(String index, int numDocs) { // now, do a nested query - SearchResponse searchResponse = prepareSearch(index).setQuery( - nestedQuery("nested1", termQuery("nested1.n_field1", "n_value1_1"), ScoreMode.Avg) - ).get(); - assertNoFailures(searchResponse); - assertThat(searchResponse.getHits().getTotalHits().value, equalTo((long) numDocs)); + assertNoFailuresAndResponse( + prepareSearch(index).setQuery(nestedQuery("nested1", termQuery("nested1.n_field1", "n_value1_1"), ScoreMode.Avg)), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo((long) numDocs)) + ); } - public void assertAllUniqueDocs(SearchResponse response, int numDocs) { - Set ids = new HashSet<>(); - for (int i = 0; i < response.getHits().getHits().length; i++) { - String id = response.getHits().getHits()[i].getId(); - assertTrue("found ID " + id + " more than once", ids.add(id)); - } - assertEquals(numDocs, ids.size()); + public void assertAllUniqueDocs(SearchRequestBuilder request, int numDocs) { + assertResponse(request, response -> { + Set ids = new HashSet<>(); + for (int i = 0; i < response.getHits().getHits().length; i++) { + String id = response.getHits().getHits()[i].getId(); + assertTrue("found ID " + id + " more than once", ids.add(id)); + } + assertEquals(numDocs, ids.size()); + }); } public void testSplitIndexPrimaryTerm() throws Exception { diff --git a/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/BulkProcessor2RetryIT.java b/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/BulkProcessor2RetryIT.java index 18a8ae2dd2800..f1d4f6958f7f0 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/BulkProcessor2RetryIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/BulkProcessor2RetryIT.java @@ -11,7 +11,6 @@ import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.DocWriteRequest; import org.elasticsearch.action.admin.indices.refresh.RefreshRequest; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.core.Tuple; import org.elasticsearch.index.query.QueryBuilders; @@ -26,6 +25,7 @@ import java.util.concurrent.TimeUnit; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.lessThan; import static org.hamcrest.Matchers.lessThanOrEqualTo; @@ -136,15 +136,17 @@ public void afterBulk(long executionId, BulkRequest request, Exception failure) indicesAdmin().refresh(new RefreshRequest()).get(); - SearchResponse results = prepareSearch(INDEX_NAME).setQuery(QueryBuilders.matchAllQuery()).setSize(0).get(); - assertThat(bulkProcessor.getTotalBytesInFlight(), equalTo(0L)); - if (rejectedExecutionExpected) { - assertThat((int) results.getHits().getTotalHits().value, lessThanOrEqualTo(numberOfAsyncOps)); - } else if (rejectedAfterAllRetries) { - assertThat((int) results.getHits().getTotalHits().value, lessThan(numberOfAsyncOps)); - } else { - assertThat((int) results.getHits().getTotalHits().value, equalTo(numberOfAsyncOps)); - } + final boolean finalRejectedAfterAllRetries = rejectedAfterAllRetries; + assertResponse(prepareSearch(INDEX_NAME).setQuery(QueryBuilders.matchAllQuery()).setSize(0), results -> { + assertThat(bulkProcessor.getTotalBytesInFlight(), equalTo(0L)); + if (rejectedExecutionExpected) { + assertThat((int) results.getHits().getTotalHits().value, lessThanOrEqualTo(numberOfAsyncOps)); + } else if (finalRejectedAfterAllRetries) { + assertThat((int) results.getHits().getTotalHits().value, lessThan(numberOfAsyncOps)); + } else { + assertThat((int) results.getHits().getTotalHits().value, equalTo(numberOfAsyncOps)); + } + }); } private static void indexDocs(BulkProcessor2 processor, int numDocs) { diff --git a/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/BulkProcessorRetryIT.java b/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/BulkProcessorRetryIT.java index e664f6e6bb42f..93f066d35bbc4 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/BulkProcessorRetryIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/BulkProcessorRetryIT.java @@ -9,7 +9,6 @@ import org.elasticsearch.ExceptionsHelper; import org.elasticsearch.action.admin.indices.refresh.RefreshRequest; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.core.TimeValue; import org.elasticsearch.index.query.QueryBuilders; @@ -25,6 +24,7 @@ import java.util.concurrent.TimeUnit; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.lessThan; import static org.hamcrest.Matchers.lessThanOrEqualTo; @@ -131,15 +131,16 @@ public void afterBulk(long executionId, BulkRequest request, Throwable failure) indicesAdmin().refresh(new RefreshRequest()).get(); - SearchResponse results = prepareSearch(INDEX_NAME).setQuery(QueryBuilders.matchAllQuery()).setSize(0).get(); - - if (rejectedExecutionExpected) { - assertThat((int) results.getHits().getTotalHits().value, lessThanOrEqualTo(numberOfAsyncOps)); - } else if (rejectedAfterAllRetries) { - assertThat((int) results.getHits().getTotalHits().value, lessThan(numberOfAsyncOps)); - } else { - assertThat((int) results.getHits().getTotalHits().value, equalTo(numberOfAsyncOps)); - } + final boolean finalRejectedAfterAllRetries = rejectedAfterAllRetries; + assertResponse(prepareSearch(INDEX_NAME).setQuery(QueryBuilders.matchAllQuery()).setSize(0), results -> { + if (rejectedExecutionExpected) { + assertThat((int) results.getHits().getTotalHits().value, lessThanOrEqualTo(numberOfAsyncOps)); + } else if (finalRejectedAfterAllRetries) { + assertThat((int) results.getHits().getTotalHits().value, lessThan(numberOfAsyncOps)); + } else { + assertThat((int) results.getHits().getTotalHits().value, equalTo(numberOfAsyncOps)); + } + }); } private void assertRetriedCorrectly(CorrelatingBackoffPolicy internalPolicy, Object bulkResponse, Throwable failure) { diff --git a/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/WriteAckDelayIT.java b/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/WriteAckDelayIT.java index 6ec01c3be5626..61f624c19f567 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/WriteAckDelayIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/action/bulk/WriteAckDelayIT.java @@ -9,7 +9,6 @@ package org.elasticsearch.action.bulk; import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.core.TimeValue; import org.elasticsearch.test.ESIntegTestCase; @@ -18,6 +17,8 @@ import java.util.ArrayList; import java.util.List; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse; + public class WriteAckDelayIT extends ESIntegTestCase { @Override @@ -42,17 +43,18 @@ public void testIndexWithWriteDelayEnabled() throws Exception { for (int j = 0; j < numOfChecks; j++) { try { logger.debug("running search"); - SearchResponse response = prepareSearch("test").get(); - if (response.getHits().getTotalHits().value != numOfDocs) { - final String message = "Count is " - + response.getHits().getTotalHits().value - + " but " - + numOfDocs - + " was expected. " - + ElasticsearchAssertions.formatShardStatus(response); - logger.error("{}. search response: \n{}", message, response); - fail(message); - } + assertResponse(prepareSearch("test"), response -> { + if (response.getHits().getTotalHits().value != numOfDocs) { + final String message = "Count is " + + response.getHits().getTotalHits().value + + " but " + + numOfDocs + + " was expected. " + + ElasticsearchAssertions.formatShardStatus(response); + logger.error("{}. search response: \n{}", message, response); + fail(message); + } + }); } catch (Exception e) { logger.error("search failed", e); throw e; diff --git a/server/src/internalClusterTest/java/org/elasticsearch/action/search/CCSPointInTimeIT.java b/server/src/internalClusterTest/java/org/elasticsearch/action/search/CCSPointInTimeIT.java index b9e8b40c70cb8..36e544af90bc6 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/action/search/CCSPointInTimeIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/action/search/CCSPointInTimeIT.java @@ -29,7 +29,8 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; -import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailuresAndResponse; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThanOrEqualTo; @@ -95,31 +96,32 @@ public void testBasic() { remoteClient.prepareIndex("remote_test").setId("remote_new").setSource().get(); remoteClient.admin().indices().prepareRefresh().get(); } - SearchResponse resp = localClient.prepareSearch() - .setPreference(null) - .setQuery(new MatchAllQueryBuilder()) - .setPointInTime(new PointInTimeBuilder(pitId)) - .setSize(1000) - .get(); - assertNoFailures(resp); - assertHitCount(resp, (includeLocalIndex ? localNumDocs : 0) + remoteNumDocs); - - SearchResponse.Clusters clusters = resp.getClusters(); - int expectedNumClusters = 1 + (includeLocalIndex ? 1 : 0); - assertThat(clusters.getTotal(), equalTo(expectedNumClusters)); - assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.SUCCESSFUL), equalTo(expectedNumClusters)); - assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.SKIPPED), equalTo(0)); - - if (includeLocalIndex) { - SearchResponse.Cluster localCluster = clusters.getCluster(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY); - assertNotNull(localCluster); - assertOneSuccessfulShard(localCluster); - } - - SearchResponse.Cluster remoteCluster = clusters.getCluster(REMOTE_CLUSTER); - assertNotNull(remoteCluster); - assertOneSuccessfulShard(remoteCluster); - + assertNoFailuresAndResponse( + localClient.prepareSearch() + .setPreference(null) + .setQuery(new MatchAllQueryBuilder()) + .setPointInTime(new PointInTimeBuilder(pitId)) + .setSize(1000), + resp -> { + assertHitCount(resp, (includeLocalIndex ? localNumDocs : 0) + remoteNumDocs); + + SearchResponse.Clusters clusters = resp.getClusters(); + int expectedNumClusters = 1 + (includeLocalIndex ? 1 : 0); + assertThat(clusters.getTotal(), equalTo(expectedNumClusters)); + assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.SUCCESSFUL), equalTo(expectedNumClusters)); + assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.SKIPPED), equalTo(0)); + + if (includeLocalIndex) { + SearchResponse.Cluster localCluster = clusters.getCluster(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY); + assertNotNull(localCluster); + assertOneSuccessfulShard(localCluster); + } + + SearchResponse.Cluster remoteCluster = clusters.getCluster(REMOTE_CLUSTER); + assertNotNull(remoteCluster); + assertOneSuccessfulShard(remoteCluster); + } + ); } finally { closePointInTime(pitId); } @@ -157,24 +159,22 @@ public void testFailuresOnOneShardsWithPointInTime() throws ExecutionException, ThrowingQueryBuilder queryBuilder = new ThrowingQueryBuilder(randomLong(), new IllegalStateException("index corrupted"), 0); SearchRequest searchRequest = new SearchRequest(); searchRequest.source(new SearchSourceBuilder().query(queryBuilder).size(10).pointInTimeBuilder(new PointInTimeBuilder(pitId))); - SearchResponse searchResponse = client(LOCAL_CLUSTER).search(searchRequest).get(); - - SearchResponse.Clusters clusters = searchResponse.getClusters(); - int expectedNumClusters = 1 + (includeLocalIndex ? 1 : 0); - assertThat(clusters.getTotal(), equalTo(expectedNumClusters)); - assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.SUCCESSFUL), equalTo(0)); - assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.SKIPPED), equalTo(0)); - assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.PARTIAL), equalTo(expectedNumClusters)); - - if (includeLocalIndex) { - SearchResponse.Cluster localCluster = clusters.getCluster(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY); - assertNotNull(localCluster); - assertOneFailedShard(localCluster, numShards); - } - SearchResponse.Cluster remoteCluster = clusters.getCluster(REMOTE_CLUSTER); - assertNotNull(remoteCluster); - assertOneFailedShard(remoteCluster, numShards); - + assertResponse(client(LOCAL_CLUSTER).search(searchRequest), searchResponse -> { + SearchResponse.Clusters clusters = searchResponse.getClusters(); + int expectedNumClusters = 1 + (includeLocalIndex ? 1 : 0); + assertThat(clusters.getTotal(), equalTo(expectedNumClusters)); + assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.SUCCESSFUL), equalTo(0)); + assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.SKIPPED), equalTo(0)); + assertThat(clusters.getClusterStateCount(SearchResponse.Cluster.Status.PARTIAL), equalTo(expectedNumClusters)); + if (includeLocalIndex) { + SearchResponse.Cluster localCluster = clusters.getCluster(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY); + assertNotNull(localCluster); + assertOneFailedShard(localCluster, numShards); + } + SearchResponse.Cluster remoteCluster = clusters.getCluster(REMOTE_CLUSTER); + assertNotNull(remoteCluster); + assertOneFailedShard(remoteCluster, numShards); + }); } finally { closePointInTime(pitId); } diff --git a/server/src/internalClusterTest/java/org/elasticsearch/broadcast/BroadcastActionsIT.java b/server/src/internalClusterTest/java/org/elasticsearch/broadcast/BroadcastActionsIT.java index 5e8e6c634fa47..c45f980553431 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/broadcast/BroadcastActionsIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/broadcast/BroadcastActionsIT.java @@ -9,7 +9,6 @@ package org.elasticsearch.broadcast; import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.test.ESIntegTestCase; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentFactory; @@ -18,6 +17,7 @@ import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse; import static org.hamcrest.Matchers.equalTo; public class BroadcastActionsIT extends ESIntegTestCase { @@ -42,11 +42,12 @@ public void testBroadcastOperations() throws IOException { // check count for (int i = 0; i < 5; i++) { // test successful - SearchResponse countResponse = prepareSearch("test").setSize(0).setQuery(matchAllQuery()).get(); - assertThat(countResponse.getHits().getTotalHits().value, equalTo(2L)); - assertThat(countResponse.getTotalShards(), equalTo(numShards.numPrimaries)); - assertThat(countResponse.getSuccessfulShards(), equalTo(numShards.numPrimaries)); - assertThat(countResponse.getFailedShards(), equalTo(0)); + assertResponse(prepareSearch("test").setSize(0).setQuery(matchAllQuery()), countResponse -> { + assertThat(countResponse.getHits().getTotalHits().value, equalTo(2L)); + assertThat(countResponse.getTotalShards(), equalTo(numShards.numPrimaries)); + assertThat(countResponse.getSuccessfulShards(), equalTo(numShards.numPrimaries)); + assertThat(countResponse.getFailedShards(), equalTo(0)); + }); } } diff --git a/server/src/internalClusterTest/java/org/elasticsearch/cluster/NoMasterNodeIT.java b/server/src/internalClusterTest/java/org/elasticsearch/cluster/NoMasterNodeIT.java index c273a0b0f7c6b..d8acd45e8525f 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/cluster/NoMasterNodeIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/cluster/NoMasterNodeIT.java @@ -14,7 +14,6 @@ import org.elasticsearch.action.admin.cluster.state.ClusterStateResponse; import org.elasticsearch.action.bulk.BulkRequestBuilder; import org.elasticsearch.action.get.GetResponse; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.support.AutoCreateIndex; import org.elasticsearch.client.internal.Client; import org.elasticsearch.client.internal.Requests; @@ -45,6 +44,7 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertExists; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertRequestBuilderThrows; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThan; @@ -255,9 +255,10 @@ public void testNoMasterActionsWriteMasterBlock() throws Exception { logger.info("--> here 3"); assertHitCount(clientToMasterlessNode.prepareSearch("test1").setAllowPartialSearchResults(true), 1L); - SearchResponse countResponse = clientToMasterlessNode.prepareSearch("test2").setAllowPartialSearchResults(true).setSize(0).get(); - assertThat(countResponse.getTotalShards(), equalTo(3)); - assertThat(countResponse.getSuccessfulShards(), equalTo(1)); + assertResponse(clientToMasterlessNode.prepareSearch("test2").setAllowPartialSearchResults(true).setSize(0), countResponse -> { + assertThat(countResponse.getTotalShards(), equalTo(3)); + assertThat(countResponse.getSuccessfulShards(), equalTo(1)); + }); TimeValue timeout = TimeValue.timeValueMillis(200); long now = System.currentTimeMillis(); diff --git a/server/src/internalClusterTest/java/org/elasticsearch/document/DocumentActionsIT.java b/server/src/internalClusterTest/java/org/elasticsearch/document/DocumentActionsIT.java index 42bc0f19bf757..1ee91c5cd5f3b 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/document/DocumentActionsIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/document/DocumentActionsIT.java @@ -20,7 +20,6 @@ import org.elasticsearch.action.get.GetRequest; import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.support.WriteRequest.RefreshPolicy; import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.common.Strings; @@ -35,6 +34,7 @@ import static org.elasticsearch.action.DocWriteRequest.OpType; import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailuresAndResponse; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; @@ -154,22 +154,23 @@ public void testIndexActions() throws Exception { // check count for (int i = 0; i < 5; i++) { // test successful - SearchResponse countResponse = prepareSearch("test").setSize(0).setQuery(matchAllQuery()).execute().actionGet(); - assertNoFailures(countResponse); - assertThat(countResponse.getHits().getTotalHits().value, equalTo(2L)); - assertThat(countResponse.getSuccessfulShards(), equalTo(numShards.numPrimaries)); - assertThat(countResponse.getFailedShards(), equalTo(0)); + assertNoFailuresAndResponse(prepareSearch("test").setSize(0).setQuery(matchAllQuery()), countResponse -> { + assertThat(countResponse.getHits().getTotalHits().value, equalTo(2L)); + assertThat(countResponse.getSuccessfulShards(), equalTo(numShards.numPrimaries)); + assertThat(countResponse.getFailedShards(), equalTo(0)); + }); // count with no query is a match all one - countResponse = prepareSearch("test").setSize(0).execute().actionGet(); - assertThat( - "Failures " + countResponse.getShardFailures(), - countResponse.getShardFailures() == null ? 0 : countResponse.getShardFailures().length, - equalTo(0) - ); - assertThat(countResponse.getHits().getTotalHits().value, equalTo(2L)); - assertThat(countResponse.getSuccessfulShards(), equalTo(numShards.numPrimaries)); - assertThat(countResponse.getFailedShards(), equalTo(0)); + assertNoFailuresAndResponse(prepareSearch("test").setSize(0), countResponse -> { + assertThat( + "Failures " + countResponse.getShardFailures(), + countResponse.getShardFailures() == null ? 0 : countResponse.getShardFailures().length, + equalTo(0) + ); + assertThat(countResponse.getHits().getTotalHits().value, equalTo(2L)); + assertThat(countResponse.getSuccessfulShards(), equalTo(numShards.numPrimaries)); + assertThat(countResponse.getFailedShards(), equalTo(0)); + }); } } diff --git a/test/framework/src/main/java/org/elasticsearch/test/hamcrest/ElasticsearchAssertions.java b/test/framework/src/main/java/org/elasticsearch/test/hamcrest/ElasticsearchAssertions.java index 1dd447b8af518..10eaf322f9504 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/hamcrest/ElasticsearchAssertions.java +++ b/test/framework/src/main/java/org/elasticsearch/test/hamcrest/ElasticsearchAssertions.java @@ -341,6 +341,17 @@ public static void assertNoFailuresAndResponse(SearchRequestBuilder searchReques }); } + public static void assertNoFailuresAndResponse(ActionFuture responseFuture, Consumer consumer) + throws ExecutionException, InterruptedException { + var res = responseFuture.get(); + try { + assertNoFailures(res); + consumer.accept(res); + } finally { + res.decRef(); + } + } + public static void assertResponse(SearchRequestBuilder searchRequestBuilder, Consumer consumer) { var res = searchRequestBuilder.get(); try {