Repository: zest-qi4j Updated Branches: refs/heads/develop 2a6e64e55 -> 813aacf33
ElasticSearch index/query: wait for cluster yellow status on activation That is before index existence test & eventual creation. Project: http://git-wip-us.apache.org/repos/asf/zest-qi4j/repo Commit: http://git-wip-us.apache.org/repos/asf/zest-qi4j/commit/813aacf3 Tree: http://git-wip-us.apache.org/repos/asf/zest-qi4j/tree/813aacf3 Diff: http://git-wip-us.apache.org/repos/asf/zest-qi4j/diff/813aacf3 Branch: refs/heads/develop Commit: 813aacf3355ddce5c0369065ec6f7981040fd1cf Parents: 2a6e64e Author: Paul Merlin <[email protected]> Authored: Tue Jun 16 10:32:23 2015 +0200 Committer: Paul Merlin <[email protected]> Committed: Tue Jun 16 10:32:23 2015 +0200 ---------------------------------------------------------------------- .../elasticsearch/internal/AbstractElasticSearchSupport.java | 3 +++ 1 file changed, 3 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/813aacf3/extensions/indexing-elasticsearch/src/main/java/org/qi4j/index/elasticsearch/internal/AbstractElasticSearchSupport.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/src/main/java/org/qi4j/index/elasticsearch/internal/AbstractElasticSearchSupport.java b/extensions/indexing-elasticsearch/src/main/java/org/qi4j/index/elasticsearch/internal/AbstractElasticSearchSupport.java index 9d0833c..7fc2a4d 100644 --- a/extensions/indexing-elasticsearch/src/main/java/org/qi4j/index/elasticsearch/internal/AbstractElasticSearchSupport.java +++ b/extensions/indexing-elasticsearch/src/main/java/org/qi4j/index/elasticsearch/internal/AbstractElasticSearchSupport.java @@ -48,6 +48,9 @@ public abstract class AbstractElasticSearchSupport { activateElasticSearch(); + // Wait for yellow status: the primary shard is allocated but replicas may not be yet + client.admin().cluster().prepareHealth().setWaitForYellowStatus().execute().actionGet(); + if ( !client.admin().indices().prepareExists( index ).setIndices( index ).execute().actionGet().isExists() ) { // Create empty index LOGGER.info( "Will create '{}' index as it does not exists.", index );
