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/12/10 20:00:58 UTC

incubator-usergrid git commit: add more index protections when creating alias

Repository: incubator-usergrid
Updated Branches:
  refs/heads/USERGRID-274 [created] fe4b193df


add more index protections when creating alias


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

Branch: refs/heads/USERGRID-274
Commit: fe4b193df87ecbc8092707fe3be57568a8ea2f85
Parents: 43ed846
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Dec 10 11:49:28 2014 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Dec 10 11:49:28 2014 -0700

----------------------------------------------------------------------
 .../index/impl/EsEntityIndexImpl.java           | 33 +++++++++++++-------
 1 file changed, 21 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fe4b193d/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 67e1680..208a811 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
@@ -26,6 +26,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.usergrid.persistence.index.*;
 import org.apache.usergrid.persistence.index.utils.StringUtils;
+import org.elasticsearch.ElasticsearchException;
 import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
 import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
 import org.elasticsearch.action.admin.cluster.tasks.PendingClusterTasksRequest;
@@ -181,33 +182,41 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
 
     @Override
     public void addAlias(final String indexSuffix) {
-        try {
-            Boolean isAck;
-            String indexName = indexIdentifier.getIndex(indexSuffix);
-            final AdminClient adminClient = esProvider.getClient().admin();
+        Boolean isAck;
+        String indexName = indexIdentifier.getIndex(indexSuffix);
+        final AdminClient adminClient = esProvider.getClient().admin();
+
+        String[] indexNames = getIndexes(AliasType.Write);
 
-            String[] indexNames = getIndexes(AliasType.Write);
+        for (String currentIndex : indexNames) {
+            try {
 
-            for(String currentIndex : indexNames){
                 isAck = adminClient.indices().prepareAliases().removeAlias(currentIndex,
                         alias.getWriteAlias()).execute().actionGet().isAcknowledged();
+                logger.info("Removed Index Name [{}] from Alias=[{}] ACK=[{}]", currentIndex, alias, isAck);
 
-                logger.info("Removed Index Name [{}] from Alias=[{}] ACK=[{}]",currentIndex, alias, isAck);
+            } catch (ElasticsearchException e) {
+                logger.warn("Failed to remove index from alias {}", alias.getWriteAlias(), e);
             }
-
+        }
+        try {
             //add read alias
             isAck = adminClient.indices().prepareAliases().addAlias(
                     indexName, alias.getReadAlias()).execute().actionGet().isAcknowledged();
             logger.info("Created new read Alias Name [{}] ACK=[{}]", alias, isAck);
-
+        } catch (ElasticsearchException e) {
+            logger.warn("Failed to add read alias {}", alias.getReadAlias(), e);
+        }
+        try {
             //add write alias
             isAck = adminClient.indices().prepareAliases().addAlias(
                     indexName, alias.getWriteAlias()).execute().actionGet().isAcknowledged();
             logger.info("Created new write Alias Name [{}] ACK=[{}]", alias, isAck);
-            aliasCache.invalidate(alias);
-        } catch (Exception e) {
-            logger.warn("Failed to create alias ", e);
+        } catch (ElasticsearchException e) {
+            logger.warn("Failed to add write alias {}", alias.getWriteAlias(), e);
         }
+        aliasCache.invalidate(alias);
+
     }
 
     @Override