|
@@ -19,6 +19,7 @@ import org.elasticsearch.test.ESIntegTestCase.Scope;
|
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
+import static org.elasticsearch.gateway.GatewayService.RECOVER_AFTER_DATA_NODES_SETTING;
|
|
|
import static org.elasticsearch.test.NodeRoles.dataOnlyNode;
|
|
|
import static org.elasticsearch.test.NodeRoles.masterOnlyNode;
|
|
|
import static org.hamcrest.Matchers.equalTo;
|
|
@@ -44,79 +45,16 @@ public class RecoverAfterNodesIT extends ESIntegTestCase {
|
|
|
return internalCluster().client(name);
|
|
|
}
|
|
|
|
|
|
- public void testRecoverAfterNodes() throws Exception {
|
|
|
- internalCluster().setBootstrapMasterNodeIndex(0);
|
|
|
- logger.info("--> start node (1)");
|
|
|
- Client clientNode1 = startNode(Settings.builder().put("gateway.recover_after_nodes", 3));
|
|
|
- assertThat(clientNode1.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
- .getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
- hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
-
|
|
|
- logger.info("--> start node (2)");
|
|
|
- Client clientNode2 = startNode(Settings.builder().put("gateway.recover_after_nodes", 3));
|
|
|
- Thread.sleep(BLOCK_WAIT_TIMEOUT.millis());
|
|
|
- assertThat(clientNode1.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
- .getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
- hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
- assertThat(clientNode2.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
- .getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
- hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
-
|
|
|
- logger.info("--> start node (3)");
|
|
|
- Client clientNode3 = startNode(Settings.builder().put("gateway.recover_after_nodes", 3));
|
|
|
-
|
|
|
- assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, clientNode1).isEmpty(), equalTo(true));
|
|
|
- assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, clientNode2).isEmpty(), equalTo(true));
|
|
|
- assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, clientNode3).isEmpty(), equalTo(true));
|
|
|
- }
|
|
|
-
|
|
|
- public void testRecoverAfterMasterNodes() throws Exception {
|
|
|
- internalCluster().setBootstrapMasterNodeIndex(0);
|
|
|
- logger.info("--> start master_node (1)");
|
|
|
- Client master1 = startNode(Settings.builder().put("gateway.recover_after_master_nodes", 2).put(masterOnlyNode()));
|
|
|
- assertThat(master1.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
- .getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
- hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
-
|
|
|
- logger.info("--> start data_node (1)");
|
|
|
- Client data1 = startNode(Settings.builder().put("gateway.recover_after_master_nodes", 2).put(dataOnlyNode()));
|
|
|
- assertThat(master1.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
- .getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
- hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
- assertThat(data1.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
- .getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
- hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
-
|
|
|
- logger.info("--> start data_node (2)");
|
|
|
- Client data2 = startNode(Settings.builder().put("gateway.recover_after_master_nodes", 2).put(dataOnlyNode()));
|
|
|
- assertThat(master1.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
- .getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
- hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
- assertThat(data1.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
- .getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
- hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
- assertThat(data2.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
- .getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
- hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
-
|
|
|
- logger.info("--> start master_node (2)");
|
|
|
- Client master2 = startNode(Settings.builder().put("gateway.recover_after_master_nodes", 2).put(masterOnlyNode()));
|
|
|
- assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, master1).isEmpty(), equalTo(true));
|
|
|
- assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, master2).isEmpty(), equalTo(true));
|
|
|
- assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, data1).isEmpty(), equalTo(true));
|
|
|
- assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, data2).isEmpty(), equalTo(true));
|
|
|
- }
|
|
|
-
|
|
|
- public void testRecoverAfterDataNodes() throws Exception {
|
|
|
+ public void testRecoverAfterDataNodes() {
|
|
|
internalCluster().setBootstrapMasterNodeIndex(0);
|
|
|
logger.info("--> start master_node (1)");
|
|
|
- Client master1 = startNode(Settings.builder().put("gateway.recover_after_data_nodes", 2).put(masterOnlyNode()));
|
|
|
+ Client master1 = startNode(Settings.builder().put(RECOVER_AFTER_DATA_NODES_SETTING.getKey(), 2).put(masterOnlyNode()));
|
|
|
assertThat(master1.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
.getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
|
|
|
logger.info("--> start data_node (1)");
|
|
|
- Client data1 = startNode(Settings.builder().put("gateway.recover_after_data_nodes", 2).put(dataOnlyNode()));
|
|
|
+ Client data1 = startNode(Settings.builder().put(RECOVER_AFTER_DATA_NODES_SETTING.getKey(), 2).put(dataOnlyNode()));
|
|
|
assertThat(master1.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
.getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
@@ -125,7 +63,7 @@ public class RecoverAfterNodesIT extends ESIntegTestCase {
|
|
|
hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
|
|
|
logger.info("--> start master_node (2)");
|
|
|
- Client master2 = startNode(Settings.builder().put("gateway.recover_after_data_nodes", 2).put(masterOnlyNode()));
|
|
|
+ Client master2 = startNode(Settings.builder().put(RECOVER_AFTER_DATA_NODES_SETTING.getKey(), 2).put(masterOnlyNode()));
|
|
|
assertThat(master2.admin().cluster().prepareState().setLocal(true).execute().actionGet()
|
|
|
.getState().blocks().global(ClusterBlockLevel.METADATA_WRITE),
|
|
|
hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
@@ -137,7 +75,7 @@ public class RecoverAfterNodesIT extends ESIntegTestCase {
|
|
|
hasItem(GatewayService.STATE_NOT_RECOVERED_BLOCK));
|
|
|
|
|
|
logger.info("--> start data_node (2)");
|
|
|
- Client data2 = startNode(Settings.builder().put("gateway.recover_after_data_nodes", 2).put(dataOnlyNode()));
|
|
|
+ Client data2 = startNode(Settings.builder().put(RECOVER_AFTER_DATA_NODES_SETTING.getKey(), 2).put(dataOnlyNode()));
|
|
|
assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, master1).isEmpty(), equalTo(true));
|
|
|
assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, master2).isEmpty(), equalTo(true));
|
|
|
assertThat(waitForNoBlocksOnNode(BLOCK_WAIT_TIMEOUT, data1).isEmpty(), equalTo(true));
|