From 6d7721fdcee83eee02e91ca3fd34a153f3aa4caf Mon Sep 17 00:00:00 2001
From: ZMai <zmai@slb.com>
Date: Fri, 27 Jan 2023 16:11:50 -0600
Subject: [PATCH] Failure to create the alias should not have impact on the
 status of index creation

(cherry picked from commit eab4a8420672290f1c5b53c8da6461897d544efa)
---
 .../indexer/service/IndicesServiceImpl.java   | 30 +++++++++++--------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndicesServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndicesServiceImpl.java
index dd8213951..8b4d87969 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndicesServiceImpl.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndicesServiceImpl.java
@@ -307,22 +307,28 @@ public class IndicesServiceImpl implements IndicesService {
         }
     }
 
-    private void createIndexAlias(RestHighLevelClient client, String index) throws IOException {
+    private void createIndexAlias(RestHighLevelClient client, String index) {
         String kind = this.elasticIndexNameResolver.getKindFromIndexName(index);
         String kindWithMajorVersion = getKindWithMajorVersion(kind);
-        for (String kd : Arrays.asList(kind, kindWithMajorVersion)) {
-            index = elasticIndexNameResolver.getIndexNameFromKind(kd);
-            String alias = elasticIndexNameResolver.getIndexAliasFromKind(kd);
-            IndicesAliasesRequest addRequest = new IndicesAliasesRequest();
-            IndicesAliasesRequest.AliasActions aliasActions = new IndicesAliasesRequest.AliasActions(IndicesAliasesRequest.AliasActions.Type.ADD)
-                    .index(index)
-                    .alias(alias);
-            addRequest.addAliasAction(aliasActions);
-            AcknowledgedResponse response = client.indices().updateAliases(addRequest, RequestOptions.DEFAULT);
-            if (response.isAcknowledged()) {
-                this.log.info(String.format("Alias %s was created for index %s", alias, index));
+        try {
+            for (String kd : Arrays.asList(kind, kindWithMajorVersion)) {
+                index = elasticIndexNameResolver.getIndexNameFromKind(kd);
+                String alias = elasticIndexNameResolver.getIndexAliasFromKind(kd);
+                IndicesAliasesRequest addRequest = new IndicesAliasesRequest();
+                IndicesAliasesRequest.AliasActions aliasActions = new IndicesAliasesRequest.AliasActions(IndicesAliasesRequest.AliasActions.Type.ADD)
+                        .index(index)
+                        .alias(alias);
+                addRequest.addAliasAction(aliasActions);
+                AcknowledgedResponse response = client.indices().updateAliases(addRequest, RequestOptions.DEFAULT);
+                if (response.isAcknowledged()) {
+                    this.log.info(String.format("Alias %s was created for index %s", alias, index));
+                }
             }
         }
+        catch(Exception ex) {
+            // Failed to create alias is not the end. It should not affect the status of index creation
+            this.log.error(String.format("Fail to create aliases for index %s", index), ex);
+        }
     }
 
     private String getKindWithMajorVersion(String kind) {
-- 
GitLab