You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by no...@apache.org on 2022/05/05 13:11:41 UTC

[solr] 01/01: Ignore failures in creation of node role ZK nodes

This is an automated email from the ASF dual-hosted git repository.

noble pushed a commit to branch jira/solr16184
in repository https://gitbox.apache.org/repos/asf/solr.git

commit 832cce1f3324172d5c24d7465a63503a0a7d065e
Author: Noble Paul <no...@gmail.com>
AuthorDate: Thu May 5 23:11:31 2022 +1000

    Ignore failures in creation of node role ZK nodes
---
 solr/core/src/java/org/apache/solr/cloud/ZkController.java | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index 1a1d050941b..6b3ef587842 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -1186,20 +1186,26 @@ public class ZkController implements Closeable {
             null,
             zkClient.getZkACLProvider().getACLsToAdd(nodePath),
             CreateMode.EPHEMERAL));
+    zkClient.multi(ops, true);
 
+    List<Op> roleNodesOps = new ArrayList<>();
     // Create the roles node as well
     cc.nodeRoles
         .getRoles()
         .forEach(
             (role, mode) ->
-                ops.add(
+                    roleNodesOps.add(
                     Op.create(
                         NodeRoles.getZNodeForRoleMode(role, mode) + "/" + nodeName,
                         null,
                         zkClient.getZkACLProvider().getACLsToAdd(nodePath),
                         CreateMode.EPHEMERAL)));
-
-    zkClient.multi(ops, true);
+    try {
+      zkClient.multi(roleNodesOps, true);
+    } catch (KeeperException e) {
+      log.error("Error creating role nodes ", e);
+      //Unable to create role nodes
+    }
   }
 
   public void removeEphemeralLiveNode() throws KeeperException, InterruptedException {