You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by sp...@apache.org on 2019/03/08 01:57:48 UTC
[ranger] branch master updated: RANGER-2345: Upgrade Solr version
in Ranger to 7.7.1
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 <sp...@hortonworks.com>
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(