diff --git a/x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/test/SecuritySingleNodeTestCase.java b/x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/test/SecuritySingleNodeTestCase.java index ab62158dd1d34..3d640cd962c19 100644 --- a/x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/test/SecuritySingleNodeTestCase.java +++ b/x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/test/SecuritySingleNodeTestCase.java @@ -8,6 +8,8 @@ import org.apache.http.HttpHost; import org.elasticsearch.ResourceAlreadyExistsException; +import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest; +import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; import org.elasticsearch.action.admin.cluster.node.info.NodeInfo; import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse; import org.elasticsearch.action.admin.cluster.node.info.PluginsAndModules; @@ -413,7 +415,12 @@ protected void createSecurityIndexWithWaitForActiveShards() { try { client.admin().indices().create(createIndexRequest).actionGet(); } catch (ResourceAlreadyExistsException e) { - logger.info("Security index already exists, ignoring.", e); + logger.info("Security index already exists, skipping creation and waiting for it to become available", e); + ClusterHealthRequest healthRequest = new ClusterHealthRequest(TEST_REQUEST_TIMEOUT, SECURITY_MAIN_ALIAS).waitForActiveShards( + ActiveShardCount.ALL + ); + ClusterHealthResponse healthResponse = client.admin().cluster().health(healthRequest).actionGet(); + assertThat(healthResponse.isTimedOut(), is(false)); } } }