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

pradeep pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new bbbc23c  RANGER-3290 ArrayIndexOutOfBoundsException if solr is down
bbbc23c is described below

commit bbbc23c005432c715d741e6ea61a9aaddc569845
Author: Andras Salamon <andras.sala...@melda.info>
AuthorDate: Mon Dec 27 11:57:33 2021 +0100

    RANGER-3290 ArrayIndexOutOfBoundsException if solr is down
    
    Signed-off-by: pradeep <prad...@apache.org>
---
 .../org/apache/ranger/server/tomcat/SolrCollectionBootstrapper.java | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/SolrCollectionBootstrapper.java
 
b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/SolrCollectionBootstrapper.java
index 1596beb..fe4006f 100644
--- 
a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/SolrCollectionBootstrapper.java
+++ 
b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/SolrCollectionBootstrapper.java
@@ -36,6 +36,7 @@ import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.security.SecureClientLogin;
 import org.apache.http.HttpEntity;
@@ -459,8 +460,11 @@ public class SolrCollectionBootstrapper extends Thread {
                return zookeeperHosts;
        }
 
-       private String getBaseUrl() {
+       private String getBaseUrl() throws Exception {
                Set<String> nodes = 
solrCloudClient.getClusterStateProvider().getLiveNodes();
+               if (CollectionUtils.isEmpty(nodes)) {
+                       throw new Exception("No live SolrServers available");
+               }
                String[] nodeArr = nodes.toArray(new String[0]);
                // getting nodes URL as 'port_solr', so converting it to 
'port/solr'
                return nodeArr[0].replaceAll("_", "/");

Reply via email to