diff --git a/elx-common/src/test/java/org/xbib/elx/common/test/AliasTest.java b/elx-common/src/test/java/org/xbib/elx/common/test/AliasTest.java index fb31cde..98afd47 100644 --- a/elx-common/src/test/java/org/xbib/elx/common/test/AliasTest.java +++ b/elx-common/src/test/java/org/xbib/elx/common/test/AliasTest.java @@ -3,6 +3,8 @@ package org.xbib.elx.common.test; import com.carrotsearch.hppc.cursors.ObjectCursor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.elasticsearch.action.admin.cluster.health.ClusterHealthAction; +import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest; import org.elasticsearch.action.admin.indices.alias.IndicesAliasesAction; import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest; import org.elasticsearch.action.admin.indices.alias.get.GetAliasesAction; @@ -39,11 +41,10 @@ class AliasTest { @Test void testAlias() { ElasticsearchClient client = helper.client("1"); - CreateIndexRequest indexRequest = new CreateIndexRequest("test"); + CreateIndexRequest indexRequest = new CreateIndexRequest("test_index"); client.execute(CreateIndexAction.INSTANCE, indexRequest).actionGet(); - // put alias IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(); - String[] indices = new String[] { "test" }; + String[] indices = new String[] { "test_index" }; String[] aliases = new String[] { "test_alias" }; IndicesAliasesRequest.AliasActions aliasAction = new IndicesAliasesRequest.AliasActions(IndicesAliasesRequest.AliasActions.Type.ADD) @@ -51,13 +52,14 @@ class AliasTest { .aliases(aliases); indicesAliasesRequest.addAliasAction(aliasAction); client.execute(IndicesAliasesAction.INSTANCE, indicesAliasesRequest).actionGet(); - // get alias GetAliasesRequest getAliasesRequest = new GetAliasesRequest(Strings.EMPTY_ARRAY); long t0 = System.nanoTime(); - GetAliasesResponse getAliasesResponse = client.execute(GetAliasesAction.INSTANCE, getAliasesRequest).actionGet(); + GetAliasesResponse getAliasesResponse = + client.execute(GetAliasesAction.INSTANCE, getAliasesRequest).actionGet(); long t1 = (System.nanoTime() - t0) / 1000000; logger.info("{} time(ms) = {}", getAliasesResponse.getAliases(), t1); assertTrue(t1 >= 0); + client.execute(ClusterHealthAction.INSTANCE, new ClusterHealthRequest()); } @Test diff --git a/elx-common/src/test/java/org/xbib/elx/common/test/MockClientProviderTest.java b/elx-common/src/test/java/org/xbib/elx/common/test/MockClientProviderTest.java index 194770a..51fe18a 100644 --- a/elx-common/src/test/java/org/xbib/elx/common/test/MockClientProviderTest.java +++ b/elx-common/src/test/java/org/xbib/elx/common/test/MockClientProviderTest.java @@ -16,7 +16,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; class MockClientProviderTest { @Test - void testMockAdminProvider() throws IOException { + void testMockAdminClientProvider() throws IOException { MockAdminClient client = ClientBuilder.builder() .setAdminClientProvider(MockAdminClientProvider.class) .build(); @@ -24,7 +24,7 @@ class MockClientProviderTest { } @Test - void testMockBulkProvider() throws IOException { + void testMockBulkClientProvider() throws IOException { MockBulkClient client = ClientBuilder.builder() .setBulkClientProvider(MockBulkClientProvider.class) .build(); @@ -32,7 +32,7 @@ class MockClientProviderTest { } @Test - void testMockSearchProvider() throws IOException { + void testMockSearchClientProvider() throws IOException { MockSearchClient client = ClientBuilder.builder() .setSearchClientProvider(MockSearchClientProvider.class) .build(); diff --git a/elx-common/src/test/java/org/xbib/elx/common/test/SearchTest.java b/elx-common/src/test/java/org/xbib/elx/common/test/SearchTest.java index eccdb08..b276a45 100644 --- a/elx-common/src/test/java/org/xbib/elx/common/test/SearchTest.java +++ b/elx-common/src/test/java/org/xbib/elx/common/test/SearchTest.java @@ -6,13 +6,12 @@ import org.elasticsearch.action.bulk.BulkAction; import org.elasticsearch.action.bulk.BulkRequestBuilder; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.search.SearchAction; -import org.elasticsearch.action.search.SearchRequest; +import org.elasticsearch.action.search.SearchRequestBuilder; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.index.query.QueryBuilder; import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -52,17 +51,15 @@ class SearchTest { } client.execute(BulkAction.INSTANCE, builder.request()).actionGet(); client.execute(RefreshAction.INSTANCE, new RefreshRequest()).actionGet(); - for (int i = 0; i < 1; i++) { + for (int i = 0; i < 100; i++) { QueryBuilder queryStringBuilder = QueryBuilders.queryStringQuery("rs:" + 1234); - SearchSourceBuilder searchSource = new SearchSourceBuilder(); - searchSource.query(queryStringBuilder); - searchSource.sort("rowcount", SortOrder.DESC); - searchSource.from(i * 10); - searchSource.size(10); - SearchRequest searchRequest = new SearchRequest(); - searchRequest.indices("pages"); - searchRequest.source(searchSource); - SearchResponse searchResponse = client.execute(SearchAction.INSTANCE, searchRequest).actionGet(); + SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(client, SearchAction.INSTANCE) + .setIndices("pages") + .setQuery(queryStringBuilder) + .addSort("rowcount", SortOrder.DESC) + .setFrom(i * 10) + .setSize(10); + SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); assertTrue(searchResponse.getHits().getTotalHits().value > 0); } } diff --git a/elx-common/src/test/java/org/xbib/elx/common/test/TestExtension.java b/elx-common/src/test/java/org/xbib/elx/common/test/TestExtension.java index 3cf0bf9..2064a5a 100644 --- a/elx-common/src/test/java/org/xbib/elx/common/test/TestExtension.java +++ b/elx-common/src/test/java/org/xbib/elx/common/test/TestExtension.java @@ -13,7 +13,6 @@ import org.elasticsearch.action.admin.cluster.state.ClusterStateAction; import org.elasticsearch.action.admin.cluster.state.ClusterStateRequest; import org.elasticsearch.action.admin.cluster.state.ClusterStateResponse; import org.elasticsearch.client.ElasticsearchClient; -import org.elasticsearch.client.support.AbstractClient; import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.TransportAddress; @@ -118,10 +117,6 @@ public class TestExtension implements ParameterResolver, BeforeEachCallback, Aft } private void closeNodes(Helper helper) throws IOException { - logger.info("closing all clients"); - for (AbstractClient client : helper.clients.values()) { - client.close(); - } logger.info("closing all nodes"); for (Node node : helper.nodes.values()) { if (node != null) { @@ -165,8 +160,6 @@ public class TestExtension implements ParameterResolver, BeforeEachCallback, Aft Map nodes = new HashMap<>(); - Map clients = new HashMap<>(); - void setHome(String home) { this.home = home; } @@ -187,8 +180,6 @@ public class TestExtension implements ParameterResolver, BeforeEachCallback, Aft return Settings.builder() .put("cluster.name", getClusterName()) .put("path.home", getHome()) - .put("cluster.initial_master_nodes", "1") - .put("discovery.seed_hosts", "127.0.0.1:9300") .build(); } @@ -197,7 +188,7 @@ public class TestExtension implements ParameterResolver, BeforeEachCallback, Aft } ElasticsearchClient client(String id) { - return clients.get(id); + return nodes.get(id).client(); } String randomString(int len) { @@ -216,9 +207,7 @@ public class TestExtension implements ParameterResolver, BeforeEachCallback, Aft .build(); List> plugins = Collections.singletonList(Netty4Plugin.class); Node node = new MockNode(nodeSettings, plugins); - AbstractClient client = (AbstractClient) node.client(); nodes.put(id, node); - clients.put(id, client); return node; } } diff --git a/elx-common/src/test/java/org/xbib/elx/common/test/WildcardTest.java b/elx-common/src/test/java/org/xbib/elx/common/test/WildcardTest.java index f2c69bf..69b1640 100644 --- a/elx-common/src/test/java/org/xbib/elx/common/test/WildcardTest.java +++ b/elx-common/src/test/java/org/xbib/elx/common/test/WildcardTest.java @@ -5,12 +5,11 @@ import org.elasticsearch.action.admin.indices.refresh.RefreshRequest; import org.elasticsearch.action.index.IndexAction; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.search.SearchAction; -import org.elasticsearch.action.search.SearchRequest; +import org.elasticsearch.action.search.SearchRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.index.query.QueryBuilder; import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.builder.SearchSourceBuilder; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -52,13 +51,11 @@ class WildcardTest { } private long count(ElasticsearchClient client, QueryBuilder queryBuilder) { - SearchSourceBuilder builder = new SearchSourceBuilder() - .query(queryBuilder) - .trackTotalHits(true); - SearchRequest searchRequest = new SearchRequest() - .indices("index") - .source(builder); - return client.execute(SearchAction.INSTANCE, searchRequest).actionGet().getHits().getTotalHits().value; + SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(client, SearchAction.INSTANCE) + .setIndices("index") + .setQuery(queryBuilder) + .setTrackTotalHits(true); + return searchRequestBuilder.execute().actionGet().getHits().getTotalHits().value; } private void validateCount(ElasticsearchClient client, QueryBuilder queryBuilder, long expectedHits) { diff --git a/elx-http/src/test/java/org/xbib/elx/http/test/SearchTest.java b/elx-http/src/test/java/org/xbib/elx/http/test/SearchTest.java index 1d9aef6..2258fc0 100644 --- a/elx-http/src/test/java/org/xbib/elx/http/test/SearchTest.java +++ b/elx-http/src/test/java/org/xbib/elx/http/test/SearchTest.java @@ -56,6 +56,7 @@ class SearchTest { assertEquals(numactions, bulkClient.getSearchableDocs("test")); bulkClient.index("test", "0", false, "{\"name\":\"Hello\"}"); bulkClient.flush(); + bulkClient.waitForResponses(30L, TimeUnit.SECONDS); bulkClient.refreshIndex("test"); assertEquals(numactions + 1, bulkClient.getSearchableDocs("test")); } diff --git a/elx-node/src/test/java/org/xbib/elx/node/test/BulkClientTest.java b/elx-node/src/test/java/org/xbib/elx/node/test/BulkClientTest.java index 74f2329..68de671 100644 --- a/elx-node/src/test/java/org/xbib/elx/node/test/BulkClientTest.java +++ b/elx-node/src/test/java/org/xbib/elx/node/test/BulkClientTest.java @@ -41,36 +41,33 @@ class BulkClientTest { @Test void testSingleDoc() throws Exception { - final NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) + try (NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) .setBulkClientProvider(NodeBulkClientProvider.class) .put(helper.getNodeSettings("1")) .put(Parameters.MAX_ACTIONS_PER_REQUEST.name(), MAX_ACTIONS_PER_REQUEST) .put(Parameters.FLUSH_INTERVAL.name(), TimeValue.timeValueSeconds(30)) - .build(); - try { + .build()) { bulkClient.newIndex("test"); bulkClient.index("test", "1", true, "{ \"name\" : \"Hello World\"}"); // single doc ingest bulkClient.flush(); bulkClient.waitForResponses(30L, TimeUnit.SECONDS); - } finally { assertEquals(1, bulkClient.getBulkController().getBulkMetric().getSucceeded().getCount()); if (bulkClient.getBulkController().getLastBulkError() != null) { logger.error("error", bulkClient.getBulkController().getLastBulkError()); } assertNull(bulkClient.getBulkController().getLastBulkError()); - bulkClient.close(); } } @Test void testNewIndex() throws Exception { - final NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) + try (NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) .setBulkClientProvider(NodeBulkClientProvider.class) .put(helper.getNodeSettings("1")) .put(Parameters.FLUSH_INTERVAL.name(), TimeValue.timeValueSeconds(5)) - .build(); - bulkClient.newIndex("test"); - bulkClient.close(); + .build()) { + bulkClient.newIndex("test"); + } } @Test @@ -99,13 +96,12 @@ class BulkClientTest { @Test void testRandomDocs() throws Exception { long numactions = ACTIONS; - final NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) + try (NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) .setBulkClientProvider(NodeBulkClientProvider.class) .put(helper.getNodeSettings("1")) .put(Parameters.MAX_ACTIONS_PER_REQUEST.name(), MAX_ACTIONS_PER_REQUEST) .put(Parameters.FLUSH_INTERVAL.name(), TimeValue.timeValueSeconds(60)) - .build(); - try { + .build()) { bulkClient.newIndex("test"); for (int i = 0; i < ACTIONS; i++) { bulkClient.index("test", null, false, @@ -113,7 +109,6 @@ class BulkClientTest { } bulkClient.flush(); bulkClient.waitForResponses(30L, TimeUnit.SECONDS); - } finally { assertEquals(numactions, bulkClient.getBulkController().getBulkMetric().getSucceeded().getCount()); if (bulkClient.getBulkController().getLastBulkError() != null) { logger.error("error", bulkClient.getBulkController().getLastBulkError()); @@ -121,7 +116,6 @@ class BulkClientTest { assertNull(bulkClient.getBulkController().getLastBulkError()); bulkClient.refreshIndex("test"); assertEquals(numactions, bulkClient.getSearchableDocs("test")); - bulkClient.close(); } } @@ -129,13 +123,12 @@ class BulkClientTest { void testThreadedRandomDocs() throws Exception { int maxthreads = Runtime.getRuntime().availableProcessors(); final long actions = ACTIONS; - final NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) + try (NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) .setBulkClientProvider(NodeBulkClientProvider.class) .put(helper.getNodeSettings("1")) .put(Parameters.MAX_CONCURRENT_REQUESTS.name(), maxthreads) .put(Parameters.MAX_ACTIONS_PER_REQUEST.name(), MAX_ACTIONS_PER_REQUEST) - .build(); - try { + .build()) { Settings settings = Settings.builder() .put("index.number_of_shards", 1) .put("index.number_of_replicas", 0) @@ -167,14 +160,12 @@ class BulkClientTest { } bulkClient.stopBulk("test", 30L, TimeUnit.SECONDS); assertEquals(maxthreads * actions, bulkClient.getBulkController().getBulkMetric().getSucceeded().getCount()); - } finally { if (bulkClient.getBulkController().getLastBulkError() != null) { logger.error("error", bulkClient.getBulkController().getLastBulkError()); } assertNull(bulkClient.getBulkController().getLastBulkError()); bulkClient.refreshIndex("test"); assertEquals(maxthreads * actions, bulkClient.getSearchableDocs("test")); - bulkClient.close(); } } } diff --git a/elx-node/src/test/java/org/xbib/elx/node/test/DuplicateIDTest.java b/elx-node/src/test/java/org/xbib/elx/node/test/DuplicateIDTest.java index 0a4c377..5464799 100644 --- a/elx-node/src/test/java/org/xbib/elx/node/test/DuplicateIDTest.java +++ b/elx-node/src/test/java/org/xbib/elx/node/test/DuplicateIDTest.java @@ -33,12 +33,11 @@ class DuplicateIDTest { @Test void testDuplicateDocIDs() throws Exception { long numactions = ACTIONS; - final NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) + try (NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) .setBulkClientProvider(NodeBulkClientProvider.class) .put(helper.getNodeSettings("1")) .put(Parameters.MAX_ACTIONS_PER_REQUEST.name(), MAX_ACTIONS_PER_REQUEST) - .build(); - try { + .build()) { bulkClient.newIndex("test"); for (int i = 0; i < ACTIONS; i++) { bulkClient.index("test", helper.randomString(1), false, @@ -48,8 +47,6 @@ class DuplicateIDTest { bulkClient.waitForResponses(30L, TimeUnit.SECONDS); bulkClient.refreshIndex("test"); assertTrue(bulkClient.getSearchableDocs("test") < ACTIONS); - } finally { - bulkClient.close(); assertEquals(numactions, bulkClient.getBulkController().getBulkMetric().getSucceeded().getCount()); if (bulkClient.getBulkController().getLastBulkError() != null) { logger.error("error", bulkClient.getBulkController().getLastBulkError()); diff --git a/elx-node/src/test/java/org/xbib/elx/node/test/IndexPruneTest.java b/elx-node/src/test/java/org/xbib/elx/node/test/IndexPruneTest.java index d298162..27a4b5c 100644 --- a/elx-node/src/test/java/org/xbib/elx/node/test/IndexPruneTest.java +++ b/elx-node/src/test/java/org/xbib/elx/node/test/IndexPruneTest.java @@ -35,15 +35,14 @@ class IndexPruneTest { @Test void testPrune() throws IOException { - final NodeAdminClient adminClient = ClientBuilder.builder(helper.client("1")) + try (NodeAdminClient adminClient = ClientBuilder.builder(helper.client("1")) .setAdminClientProvider(NodeAdminClientProvider.class) .put(helper.getNodeSettings("1")) .build(); - final NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) + NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) .setBulkClientProvider(NodeBulkClientProvider.class) .put(helper.getNodeSettings("1")) - .build(); - try { + .build()) { Settings settings = Settings.builder() .put("index.number_of_shards", 1) .put("index.number_of_replicas", 0) @@ -71,9 +70,6 @@ class IndexPruneTest { assertFalse(list.get(1)); assertTrue(list.get(2)); assertTrue(list.get(3)); - } finally { - adminClient.close(); - bulkClient.close(); if (bulkClient.getBulkController().getLastBulkError() != null) { logger.error("error", bulkClient.getBulkController().getLastBulkError()); } diff --git a/elx-node/src/test/java/org/xbib/elx/node/test/IndexShiftTest.java b/elx-node/src/test/java/org/xbib/elx/node/test/IndexShiftTest.java index f63c5ee..66771dc 100644 --- a/elx-node/src/test/java/org/xbib/elx/node/test/IndexShiftTest.java +++ b/elx-node/src/test/java/org/xbib/elx/node/test/IndexShiftTest.java @@ -35,15 +35,14 @@ class IndexShiftTest { @Test void testIndexShift() throws Exception { - final NodeAdminClient adminClient = ClientBuilder.builder(helper.client("1")) + try (NodeAdminClient adminClient = ClientBuilder.builder(helper.client("1")) .setAdminClientProvider(NodeAdminClientProvider.class) .put(helper.getNodeSettings("1")) .build(); - final NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) + NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) .setBulkClientProvider(NodeBulkClientProvider.class) .put(helper.getNodeSettings("1")) - .build(); - try { + .build()) { Settings settings = Settings.builder() .put("index.number_of_shards", 1) .put("index.number_of_replicas", 0) @@ -105,9 +104,6 @@ class IndexShiftTest { assertTrue(aliases.containsKey("d")); assertTrue(aliases.containsKey("e")); assertTrue(aliases.containsKey("f")); - } finally { - adminClient.close(); - bulkClient.close(); if (bulkClient.getBulkController().getLastBulkError() != null) { logger.error("error", bulkClient.getBulkController().getLastBulkError()); } diff --git a/elx-node/src/test/java/org/xbib/elx/node/test/SearchTest.java b/elx-node/src/test/java/org/xbib/elx/node/test/SearchTest.java index 58ba344..0dcad74 100644 --- a/elx-node/src/test/java/org/xbib/elx/node/test/SearchTest.java +++ b/elx-node/src/test/java/org/xbib/elx/node/test/SearchTest.java @@ -40,12 +40,11 @@ class SearchTest { @Test void testDocStream() throws Exception { long numactions = ACTIONS; - final NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) + try (NodeBulkClient bulkClient = ClientBuilder.builder(helper.client("1")) .setBulkClientProvider(NodeBulkClientProvider.class) .put(helper.getNodeSettings("1")) .put(Parameters.MAX_ACTIONS_PER_REQUEST.name(), MAX_ACTIONS_PER_REQUEST) - .build(); - try (bulkClient) { + .build()) { bulkClient.newIndex("test"); for (int i = 0; i < ACTIONS; i++) { bulkClient.index("test", null, false, @@ -60,12 +59,12 @@ class SearchTest { bulkClient.waitForResponses(30L, TimeUnit.SECONDS); bulkClient.refreshIndex("test"); assertEquals(numactions + 1, bulkClient.getSearchableDocs("test")); + assertEquals(numactions + 1, bulkClient.getBulkController().getBulkMetric().getSucceeded().getCount()); + if (bulkClient.getBulkController().getLastBulkError() != null) { + logger.error("error", bulkClient.getBulkController().getLastBulkError()); + } + assertNull(bulkClient.getBulkController().getLastBulkError()); } - assertEquals(numactions + 1, bulkClient.getBulkController().getBulkMetric().getSucceeded().getCount()); - if (bulkClient.getBulkController().getLastBulkError() != null) { - logger.error("error", bulkClient.getBulkController().getLastBulkError()); - } - assertNull(bulkClient.getBulkController().getLastBulkError()); try (NodeSearchClient searchClient = ClientBuilder.builder(helper.client("1")) .setSearchClientProvider(NodeSearchClientProvider.class) .put(helper.getNodeSettings("1"))