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

spolavarapu 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 4f0a7ea  RANGER-2345: Upgrade Solr version in Ranger to 7.7.1
4f0a7ea is described below

commit 4f0a7eae12850357014bff1ed0545fe401d1400c
Author: Sailaja Polavarapu <[email protected]>
AuthorDate: Thu Mar 7 17:57:33 2019 -0800

    RANGER-2345: Upgrade Solr version in Ranger to 7.7.1
---
 .../audit/destination/SolrAuditDestination.java    | 27 ++++++++-----
 .../audit/provider/solr/SolrAuditProvider.java     | 14 +++----
 .../solr/client/ServiceSolrConnectionMgr.java      |  4 +-
 pom.xml                                            |  2 +-
 .../patch/cliutil/DbToSolrMigrationUtil.java       | 34 +++++++++--------
 .../main/java/org/apache/ranger/solr/SolrMgr.java  | 44 ++++++++++------------
 6 files changed, 66 insertions(+), 59 deletions(-)

diff --git 
a/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
 
b/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
index 11da40e..80a6d9e 100644
--- 
a/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
+++ 
b/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
@@ -29,7 +29,8 @@ import org.apache.ranger.audit.utils.SolrAppUtil;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.impl.HttpClientUtil;
-import org.apache.solr.client.solrj.impl.Krb5HttpClientConfigurer;
+import org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder;
+import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder;
 import org.apache.solr.client.solrj.impl.LBHttpSolrClient;
 import org.apache.solr.client.solrj.response.UpdateResponse;
 import org.apache.solr.common.SolrException;
@@ -42,6 +43,8 @@ import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Properties;
+import java.util.Arrays;
+import java.util.Optional;
 
 
 public class SolrAuditDestination extends AuditDestination {
@@ -112,13 +115,15 @@ public class SolrAuditDestination extends 
AuditDestination {
                                                                + zkHosts);
                                                try {
                                                        // Instantiate
-                                                       
HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
-                                                       final String zkhosts 
=zkHosts;
+                                                       Krb5HttpClientBuilder 
krbBuild = new Krb5HttpClientBuilder();
+                                                       SolrHttpClientBuilder 
kb = krbBuild.getBuilder();
+                                                       
HttpClientUtil.setHttpClientBuilder(kb);
+
+                                                       final List<String> 
zkhosts = new ArrayList<String>(Arrays.asList(zkHosts.split(",")));
                                                        final CloudSolrClient 
solrCloudClient = MiscUtil.executePrivilegedAction(new 
PrivilegedExceptionAction<CloudSolrClient>() {
                                                                @Override
                                                                public 
CloudSolrClient run()  throws Exception {
-                                                                       
CloudSolrClient solrCloudClient = new CloudSolrClient(
-                                                                               
        zkhosts);
+                                                                       
CloudSolrClient solrCloudClient = new CloudSolrClient.Builder(zkhosts, 
Optional.empty()).build();
                                                                        return 
solrCloudClient;
                                                                };
                                                        });
@@ -135,19 +140,21 @@ public class SolrAuditDestination extends 
AuditDestination {
                                        } else if (solrURLs != null && 
!solrURLs.isEmpty()) {
                                                try {
                                                        LOG.info("Connecting to 
Solr using URLs=" + solrURLs);
-                                                       
HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
+                                                       Krb5HttpClientBuilder 
krbBuild = new Krb5HttpClientBuilder();
+                                                       SolrHttpClientBuilder 
kb = krbBuild.getBuilder();
+                                                       
HttpClientUtil.setHttpClientBuilder(kb);
                                                        final List<String> 
solrUrls = solrURLs;
                                                        final LBHttpSolrClient 
lbSolrClient = MiscUtil.executePrivilegedAction(new 
PrivilegedExceptionAction<LBHttpSolrClient>() {
                                                                @Override
                                                                public 
LBHttpSolrClient run()  throws Exception {
-                                                                       
LBHttpSolrClient lbSolrClient = new LBHttpSolrClient(
-                                                                               
        solrUrls.get(0));
+                                                                       
LBHttpSolrClient.Builder builder = new LBHttpSolrClient.Builder();
+                                                                       
builder.withBaseSolrUrl(solrUrls.get(0));
+                                                                       
builder.withConnectionTimeout(1000);
+                                                                       
LBHttpSolrClient lbSolrClient = builder.build();
                                                                        return 
lbSolrClient;
                                                                };
                                                        });
 
-                                                       
lbSolrClient.setConnectionTimeout(1000);
-
                                                        for (int i = 1; i < 
solrURLs.size(); i++) {
                                                                
lbSolrClient.addSolrServer(solrURLs.get(i));
                                                        }
diff --git 
a/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
 
b/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
index 325d250..ee95800 100644
--- 
a/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
+++ 
b/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
@@ -97,18 +97,16 @@ public class SolrAuditProvider extends AuditDestination {
                                                solrClient = 
MiscUtil.executePrivilegedAction(new PrivilegedExceptionAction<SolrClient>() {
                                                        @Override
                                                        public SolrClient run() 
 throws Exception {
-                                                               SolrClient 
solrClient = new HttpSolrClient(solrURL);
-                                                               return 
solrClient;
+                                                               
HttpSolrClient.Builder builder = new HttpSolrClient.Builder();
+                                                               
builder.withBaseSolrUrl(solrURL);
+                                                               
builder.allowCompression(true);
+                                                               
builder.withConnectionTimeout(1000);
+                                                               HttpSolrClient 
httpSolrClient = builder.build();
+                                                               return 
httpSolrClient;
                                                        };
                                                });
 
                                                me = solrClient;
-                                               if (solrClient instanceof 
HttpSolrClient) {
-                                                       HttpSolrClient 
httpSolrClient = (HttpSolrClient) solrClient;
-                                                       
httpSolrClient.setAllowCompression(true);
-                                                       
httpSolrClient.setConnectionTimeout(1000);
-                                                       // 
solrClient.setSoTimeout(10000);
-                                               }
                                        } catch (Throwable t) {
                                                LOG.fatal("Can't connect to 
Solr server. URL="
                                                                + solrURL, t);
diff --git 
a/plugin-solr/src/main/java/org/apache/ranger/services/solr/client/ServiceSolrConnectionMgr.java
 
b/plugin-solr/src/main/java/org/apache/ranger/services/solr/client/ServiceSolrConnectionMgr.java
index 43a85a4..f56373b 100644
--- 
a/plugin-solr/src/main/java/org/apache/ranger/services/solr/client/ServiceSolrConnectionMgr.java
+++ 
b/plugin-solr/src/main/java/org/apache/ranger/services/solr/client/ServiceSolrConnectionMgr.java
@@ -32,7 +32,9 @@ public class ServiceSolrConnectionMgr {
                if (url != null) {
                        //TODO: Determine whether the instance is SolrCloud
                        boolean isSolrCloud = true;
-                       SolrClient solrClient = new HttpSolrClient(url);
+                       HttpSolrClient.Builder builder = new 
HttpSolrClient.Builder();
+                       builder.withBaseSolrUrl(url);
+                       SolrClient solrClient = builder.build();
                        ServiceSolrClient serviceSolrClient = new 
ServiceSolrClient(
                                        solrClient, isSolrCloud, configs);
                        return serviceSolrClient;
diff --git a/pom.xml b/pom.xml
index 87bea23..d5c4e92 100644
--- a/pom.xml
+++ b/pom.xml
@@ -161,7 +161,7 @@
         
<security-agent-install-dir>hadoop-security/plugins</security-agent-install-dir>
         <servlet.api.version>2.5</servlet.api.version>
         <slf4j-api.version>1.7.25</slf4j-api.version>
-        <solr.version>5.5.4</solr.version>
+        <solr.version>7.7.1</solr.version>
         <spring-ldap-core.version>2.3.2.RELEASE</spring-ldap-core.version>
         
<springframework.security.version>4.2.7.RELEASE</springframework.security.version>
         
<springframework.test.version>4.3.18.RELEASE</springframework.test.version>
diff --git 
a/security-admin/src/main/java/org/apache/ranger/patch/cliutil/DbToSolrMigrationUtil.java
 
b/security-admin/src/main/java/org/apache/ranger/patch/cliutil/DbToSolrMigrationUtil.java
index 3a1f934..c20bcfa 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/patch/cliutil/DbToSolrMigrationUtil.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/patch/cliutil/DbToSolrMigrationUtil.java
@@ -27,6 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
 import java.util.UUID;
+import java.util.Arrays;
 
 import org.apache.log4j.Logger;
 import org.apache.ranger.db.RangerDaoManager;
@@ -48,7 +49,8 @@ import org.apache.solr.client.solrj.impl.BinaryRequestWriter;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.impl.HttpClientUtil;
 import org.apache.solr.client.solrj.impl.HttpSolrClient;
-import org.apache.solr.client.solrj.impl.Krb5HttpClientConfigurer;
+import org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder;
+import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder;
 import org.apache.solr.client.solrj.response.UpdateResponse;
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.SolrInputField;
@@ -405,9 +407,11 @@ public class DbToSolrMigrationUtil extends BaseLoader {
 
                        try {
                                // Instantiate
-                               HttpClientUtil.setConfigurer(new 
Krb5HttpClientConfigurer());
-                               CloudSolrClient solrCloudClient = new 
CloudSolrClient(
-                                               zkHosts);
+                               Krb5HttpClientBuilder krbBuild = new 
Krb5HttpClientBuilder();
+                               SolrHttpClientBuilder kb = 
krbBuild.getBuilder();
+                               HttpClientUtil.setHttpClientBuilder(kb);
+                               final List<String> zkhosts = new 
ArrayList<String>(Arrays.asList(zkHosts.split(",")));
+                               CloudSolrClient solrCloudClient = new 
CloudSolrClient.Builder(zkhosts, null).build();
                                solrCloudClient
                                                
.setDefaultCollection(collectionName);
                                return solrCloudClient;
@@ -427,17 +431,17 @@ public class DbToSolrMigrationUtil extends BaseLoader {
                                                + SOLR_URLS_PROP);
                        } else {
                                try {
-                                       HttpClientUtil.setConfigurer(new 
Krb5HttpClientConfigurer());
-                                       solrClient = new 
HttpSolrClient(solrURL);
-                                       if (solrClient instanceof 
HttpSolrClient) {
-                                               HttpSolrClient httpSolrClient = 
(HttpSolrClient) solrClient;
-                                               httpSolrClient
-                                                               
.setAllowCompression(true);
-                                               httpSolrClient
-                                                               
.setConnectionTimeout(1000);
-                                               httpSolrClient
-                                                               
.setRequestWriter(new BinaryRequestWriter());
-                                               }
+                                       Krb5HttpClientBuilder krbBuild = new 
Krb5HttpClientBuilder();
+                                       SolrHttpClientBuilder kb = 
krbBuild.getBuilder();
+                                       HttpClientUtil.setHttpClientBuilder(kb);
+                                       HttpSolrClient.Builder builder = new 
HttpSolrClient.Builder();
+                                       builder.withBaseSolrUrl(solrURL);
+                                       builder.allowCompression(true);
+                                       builder.withConnectionTimeout(1000);
+                                       HttpSolrClient httpSolrClient = 
builder.build();
+                                       httpSolrClient.setRequestWriter(new 
BinaryRequestWriter());
+                                       solrClient = httpSolrClient;
+
                                        } catch (Exception e) {
                                        logger.fatal(
                                                        "Can't connect to Solr 
server. URL="
diff --git a/security-admin/src/main/java/org/apache/ranger/solr/SolrMgr.java 
b/security-admin/src/main/java/org/apache/ranger/solr/SolrMgr.java
index 795b976..f4eab64 100644
--- a/security-admin/src/main/java/org/apache/ranger/solr/SolrMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/solr/SolrMgr.java
@@ -19,8 +19,7 @@
 
 package org.apache.ranger.solr;
 
-import java.util.Date;
-import java.util.Properties;
+import java.util.*;
 
 import org.apache.log4j.Logger;
 import org.apache.ranger.audit.utils.InMemoryJAASConfiguration;
@@ -31,7 +30,8 @@ import org.apache.solr.client.solrj.impl.BinaryRequestWriter;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.impl.HttpClientUtil;
 import org.apache.solr.client.solrj.impl.HttpSolrClient;
-import org.apache.solr.client.solrj.impl.Krb5HttpClientConfigurer;
+import org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder;
+import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -109,9 +109,11 @@ public class SolrMgr {
 
                                                        try {
                                                                // Instantiate
-                                                               
HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
-                                                               CloudSolrClient 
solrCloudClient = new CloudSolrClient(
-                                                                               
zkHosts);
+                                                               
Krb5HttpClientBuilder krbBuild = new Krb5HttpClientBuilder();
+                                                               
SolrHttpClientBuilder kb = krbBuild.getBuilder();
+                                                               
HttpClientUtil.setHttpClientBuilder(kb);
+                                                               final 
List<String> zkhosts = new ArrayList<String>(Arrays.asList(zkHosts.split(",")));
+                                                               CloudSolrClient 
solrCloudClient = new CloudSolrClient.Builder(zkhosts, 
Optional.empty()).build();
                                                                solrCloudClient
                                                                                
.setDefaultCollection(collectionName);
                                                                solrClient = 
solrCloudClient;
@@ -131,24 +133,18 @@ public class SolrMgr {
                                                                                
+ SOLR_URLS_PROP);
                                                        } else {
                                                                try {
-                                                                       
HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
-                                                                       
solrClient = new HttpSolrClient(solrURL);
-                                                                       if 
(solrClient == null) {
-                                                                               
logger.fatal("Can't connect to Solr. URL="
-                                                                               
                + solrURL);
-                                                                       } else {
-                                                                               
if (solrClient instanceof HttpSolrClient) {
-                                                                               
        HttpSolrClient httpSolrClient = (HttpSolrClient) solrClient;
-                                                                               
        httpSolrClient
-                                                                               
                        .setAllowCompression(true);
-                                                                               
        httpSolrClient
-                                                                               
                        .setConnectionTimeout(1000);
-                                                                               
        // httpSolrClient.setSoTimeout(10000);
-                                                                               
        httpSolrClient
-                                                                               
                        .setRequestWriter(new BinaryRequestWriter());
-                                                                               
}
-                                                                               
initDone = true;
-                                                                       }
+                                                                       
Krb5HttpClientBuilder krbBuild = new Krb5HttpClientBuilder();
+                                                                       
SolrHttpClientBuilder kb = krbBuild.getBuilder();
+                                                                       
HttpClientUtil.setHttpClientBuilder(kb);
+                                                                       
HttpSolrClient.Builder builder = new HttpSolrClient.Builder();
+                                                                       
builder.withBaseSolrUrl(solrURL);
+                                                                       
builder.allowCompression(true);
+                                                                       
builder.withConnectionTimeout(1000);
+                                                                       
HttpSolrClient httpSolrClient = builder.build();
+                                                                       
httpSolrClient
+                                                                               
        .setRequestWriter(new BinaryRequestWriter());
+                                                                       
solrClient = httpSolrClient;
+                                                                       
initDone = true;
 
                                                                } catch 
(Throwable t) {
                                                                        
logger.fatal(

Reply via email to