Skip to content

Commit 47ada69

Browse files
authored
Zen2: Move most integration tests to Zen2 (#35678)
Zen2 is now feature-complete enough to run most ESIntegTestCase tests. The changes in this PR are as follows: - ClusterSettingsIT is adapted to not be Zen1 specific anymore (it was using Zen1 settings). - Some of the integration tests require persistent storage of the cluster state, which is not fully implemented yet (see #33958). These tests keep running with Zen1 for now but will be switched over as soon as that is fully implemented. - Some very few integration tests are not running yet with Zen2 for other reasons, depending on some of the other open points in #32006.
1 parent f9ecd0c commit 47ada69

File tree

30 files changed

+230
-116
lines changed

30 files changed

+230
-116
lines changed

modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/IngestRestartIT.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.elasticsearch.script.MockScriptPlugin;
3131
import org.elasticsearch.test.ESIntegTestCase;
3232
import org.elasticsearch.test.InternalTestCluster;
33+
import org.elasticsearch.test.discovery.TestZenDiscovery;
3334

3435
import java.util.Arrays;
3536
import java.util.Collection;
@@ -45,6 +46,13 @@
4546
@ESIntegTestCase.ClusterScope(numDataNodes = 0, numClientNodes = 0, scope = ESIntegTestCase.Scope.TEST)
4647
public class IngestRestartIT extends ESIntegTestCase {
4748

49+
@Override
50+
protected Settings nodeSettings(int nodeOrdinal) {
51+
return Settings.builder().put(super.nodeSettings(nodeOrdinal))
52+
.put(TestZenDiscovery.USE_ZEN2.getKey(), false) // no state persistence yet
53+
.build();
54+
}
55+
4856
@Override
4957
protected Collection<Class<? extends Plugin>> nodePlugins() {
5058
return Arrays.asList(IngestCommonPlugin.class, CustomScriptPlugin.class);

server/src/test/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsIT.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.elasticsearch.test.ESIntegTestCase;
3535
import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
3636
import org.elasticsearch.test.ESIntegTestCase.Scope;
37+
import org.elasticsearch.test.discovery.TestZenDiscovery;
3738
import org.hamcrest.Matchers;
3839

3940
import java.io.IOException;
@@ -210,14 +211,15 @@ public void testAllocatedProcessors() throws Exception {
210211
}
211212

212213
public void testClusterStatusWhenStateNotRecovered() throws Exception {
213-
internalCluster().startMasterOnlyNode(Settings.builder().put("gateway.recover_after_nodes", 2).build());
214+
internalCluster().startMasterOnlyNode(Settings.builder().put("gateway.recover_after_nodes", 2)
215+
.put(TestZenDiscovery.USE_ZEN2.getKey(), false).build());
214216
ClusterStatsResponse response = client().admin().cluster().prepareClusterStats().get();
215217
assertThat(response.getStatus(), equalTo(ClusterHealthStatus.RED));
216218

217219
if (randomBoolean()) {
218-
internalCluster().startMasterOnlyNode(Settings.EMPTY);
220+
internalCluster().startMasterOnlyNode(Settings.builder().put(TestZenDiscovery.USE_ZEN2.getKey(), false).build());
219221
} else {
220-
internalCluster().startDataOnlyNode(Settings.EMPTY);
222+
internalCluster().startDataOnlyNode(Settings.builder().put(TestZenDiscovery.USE_ZEN2.getKey(), false).build());
221223
}
222224
// wait for the cluster status to settle
223225
ensureGreen();

server/src/test/java/org/elasticsearch/action/admin/indices/create/CreateIndexIT.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
4343
import org.elasticsearch.test.ESIntegTestCase.Scope;
4444
import org.elasticsearch.test.InternalTestCluster;
45+
import org.elasticsearch.test.discovery.TestZenDiscovery;
4546

4647
import java.util.HashMap;
4748
import java.util.HashSet;
@@ -66,6 +67,14 @@
6667
@ClusterScope(scope = Scope.TEST)
6768
public class CreateIndexIT extends ESIntegTestCase {
6869

70+
@Override
71+
protected Settings nodeSettings(int nodeOrdinal) {
72+
return Settings.builder().put(super.nodeSettings(nodeOrdinal))
73+
// testIndexWithUnknownSetting and testRestartIndexCreationAfterFullClusterRestart fail with Zen2
74+
.put(TestZenDiscovery.USE_ZEN2.getKey(), false)
75+
.build();
76+
}
77+
6978
public void testCreationDateGivenFails() {
7079
try {
7180
prepareCreate("test").setSettings(Settings.builder().put(IndexMetaData.SETTING_CREATION_DATE, 4L)).get();

server/src/test/java/org/elasticsearch/client/transport/TransportClientIT.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import org.elasticsearch.Version;
2323
import org.elasticsearch.client.Client;
24+
import org.elasticsearch.cluster.coordination.ClusterBootstrapService;
2425
import org.elasticsearch.cluster.node.DiscoveryNode;
2526
import org.elasticsearch.common.network.NetworkModule;
2627
import org.elasticsearch.common.settings.Settings;
@@ -65,6 +66,8 @@ public void testNodeVersionIsUpdated() throws IOException, NodeValidationExcepti
6566
.put("transport.type", getTestTransportType())
6667
.put(Node.NODE_DATA_SETTING.getKey(), false)
6768
.put("cluster.name", "foobar")
69+
.put(TestZenDiscovery.USE_ZEN2.getKey(), true)
70+
.put(ClusterBootstrapService.INITIAL_MASTER_NODE_COUNT_SETTING.getKey(), 1)
6871
.build(), Arrays.asList(getTestTransportPlugin(), TestZenDiscovery.TestPlugin.class,
6972
MockHttpTransport.TestPlugin.class)).start()) {
7073
TransportAddress transportAddress = node.injector().getInstance(TransportService.class).boundAddress().publishAddress();

server/src/test/java/org/elasticsearch/cluster/MinimumMasterNodesIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ protected Collection<Class<? extends Plugin>> nodePlugins() {
7474
@Override
7575
protected Settings nodeSettings(int nodeOrdinal) {
7676
return Settings.builder().put(super.nodeSettings(nodeOrdinal))
77+
.put(TestZenDiscovery.USE_ZEN2.getKey(), false) // Zen2 does not have minimum_master_nodes
7778
.put(TestZenDiscovery.USE_MOCK_PINGS.getKey(), false).build();
7879
}
7980

server/src/test/java/org/elasticsearch/cluster/NoMasterNodeIT.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.elasticsearch.test.ESIntegTestCase;
4040
import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
4141
import org.elasticsearch.test.ESIntegTestCase.Scope;
42+
import org.elasticsearch.test.discovery.TestZenDiscovery;
4243

4344
import java.util.Collections;
4445

@@ -51,6 +52,13 @@
5152
@ClusterScope(scope = Scope.TEST, numDataNodes = 0, autoMinMasterNodes = false)
5253
public class NoMasterNodeIT extends ESIntegTestCase {
5354

55+
@Override
56+
protected Settings nodeSettings(int nodeOrdinal) {
57+
return Settings.builder().put(super.nodeSettings(nodeOrdinal))
58+
.put(TestZenDiscovery.USE_ZEN2.getKey(), false) // tests here need adaption for Zen2
59+
.build();
60+
}
61+
5462
public void testNoMasterActions() throws Exception {
5563
Settings settings = Settings.builder()
5664
.put("action.auto_create_index", true)

server/src/test/java/org/elasticsearch/cluster/SpecificMasterNodesIT.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.elasticsearch.test.ESIntegTestCase;
2929
import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
3030
import org.elasticsearch.test.ESIntegTestCase.Scope;
31+
import org.elasticsearch.test.discovery.TestZenDiscovery;
3132
import org.elasticsearch.test.junit.annotations.TestLogging;
3233

3334
import java.io.IOException;
@@ -44,6 +45,7 @@ public class SpecificMasterNodesIT extends ESIntegTestCase {
4445
@Override
4546
protected Settings nodeSettings(int nodeOrdinal) {
4647
return Settings.builder().put(super.nodeSettings(nodeOrdinal))
48+
.put(TestZenDiscovery.USE_ZEN2.getKey(), false) // does unsafe things
4749
.put(DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING.getKey(), 1).build();
4850
}
4951

server/src/test/java/org/elasticsearch/cluster/routing/PrimaryAllocationIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ public boolean clearData(String nodeName) {
326326

327327
public void testNotWaitForQuorumCopies() throws Exception {
328328
logger.info("--> starting 3 nodes");
329-
internalCluster().startNodes(3);
329+
internalCluster().startNodes(3, Settings.builder().put(TestZenDiscovery.USE_ZEN2.getKey(), false).build()); // needs state recovery
330330
logger.info("--> creating index with 1 primary and 2 replicas");
331331
assertAcked(client().admin().indices().prepareCreate("test").setSettings(Settings.builder()
332332
.put("index.number_of_shards", randomIntBetween(1, 3)).put("index.number_of_replicas", 2)).get());

0 commit comments

Comments
 (0)