You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2014/11/22 00:58:17 UTC

incubator-usergrid git commit: check for alias existence

Repository: incubator-usergrid
Updated Branches:
  refs/heads/index-alias 5d613dca3 -> fc7962855


check for alias existence


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/fc796285
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/fc796285
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/fc796285

Branch: refs/heads/index-alias
Commit: fc7962855a8acb84231c7f9432f01614b15dbc6e
Parents: 5d613dc
Author: Shawn Feldman <sf...@apache.org>
Authored: Fri Nov 21 16:58:11 2014 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Fri Nov 21 16:58:11 2014 -0700

----------------------------------------------------------------------
 .../index/impl/EsEntityIndexImpl.java           | 34 +++++++++++---------
 1 file changed, 18 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fc796285/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
index fa5197e..aab8301 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
@@ -147,16 +147,7 @@ public class EsEntityIndexImpl implements EntityIndex {
                 createMappings();
             }
 
-            final AdminClient admin = esProvider.getClient().admin();
-
-            final int numberOfShards = config.getNumberOfShards();
-            final int numberOfReplicas = config.getNumberOfReplicas();
-
-            Settings settings = ImmutableSettings.settingsBuilder().put( "index.number_of_shards", numberOfShards)
-                                                 .put( "index.number_of_replicas", numberOfReplicas ).build();
-
-            createIndexAndAlias(admin, settings);
-
+            createIndexAndAlias();
 
             // create the document, this ensures the index is ready
 
@@ -176,15 +167,26 @@ public class EsEntityIndexImpl implements EntityIndex {
 
     /**
      * Create the index and alias
-     * @param admin
-     * @param settings
      */
-    private void createIndexAndAlias(AdminClient admin, Settings settings) {
+    private void createIndexAndAlias() {
+        final int numberOfShards = config.getNumberOfShards();
+        final int numberOfReplicas = config.getNumberOfReplicas();
+        final AdminClient admin = esProvider.getClient().admin();
+
+        Settings settings = ImmutableSettings.settingsBuilder().put( "index.number_of_shards", numberOfShards)
+                .put( "index.number_of_replicas", numberOfReplicas ).build();
+
         String indexVersionName =  indexIdentifier.getIndex(0);
-        final CreateIndexResponse cir = admin.indices().prepareCreate( indexVersionName ).setSettings( settings ).execute().actionGet();
+        if(!admin.indices().exists(new IndicesExistsRequest(indexVersionName)).actionGet().isExists()) {
+            final CreateIndexResponse cir = admin.indices().prepareCreate(indexVersionName).setSettings(settings).execute().actionGet();
+            logger.info( "Created new Index Name [{}] ACK=[{}]", indexVersionName, cir.isAcknowledged() );
+        }
         //check if alias exists and get the alias
-        admin.indices().prepareAliases().addAlias(indexVersionName,aliasName).execute().actionGet();
-        logger.info( "Created new Index Name [{}] ACK=[{}]", indexVersionName, cir.isAcknowledged() );
+        if(!admin.indices().aliasesExist(new GetAliasesRequest(aliasName)).actionGet().exists()) {
+            final Boolean isAck = admin.indices().prepareAliases().addAlias(indexVersionName, aliasName).execute().actionGet().isAcknowledged();
+            logger.info( "Created new Alias Name [{}] ACK=[{}]", aliasName, isAck);
+
+        }
     }