This is an automated email from the ASF dual-hosted git repository. madhan pushed a commit to branch ranger-2.5 in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/ranger-2.5 by this push: new 85610513d RANGER-4868: fix for ranger-mem-sizing failure with NoClassDefFoundError 85610513d is described below commit 85610513dd6465f92729475c8723042cae4636e9 Author: Madhan Neethiraj <mad...@apache.org> AuthorDate: Tue Jul 23 16:02:30 2024 -0700 RANGER-4868: fix for ranger-mem-sizing failure with NoClassDefFoundError --- agents-common/pom.xml | 5 ++++ distro/src/main/assembly/ranger-tools.xml | 1 - ranger-tools/pom.xml | 7 +++-- ranger-tools/scripts/ranger-mem-sizing.sh | 3 +- .../org/apache/ranger/sizing/RangerMemSizing.java | 33 +++++++--------------- 5 files changed, 20 insertions(+), 29 deletions(-) diff --git a/agents-common/pom.xml b/agents-common/pom.xml index 82f083f2a..7729ac81b 100644 --- a/agents-common/pom.xml +++ b/agents-common/pom.xml @@ -117,6 +117,11 @@ <artifactId>commons-configuration2</artifactId> <version>${commons.configuration.version}</version> </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>${fasterxml.jackson.databind.version}</version> + </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-json-provider</artifactId> diff --git a/distro/src/main/assembly/ranger-tools.xml b/distro/src/main/assembly/ranger-tools.xml index a3576d83a..6893366d3 100644 --- a/distro/src/main/assembly/ranger-tools.xml +++ b/distro/src/main/assembly/ranger-tools.xml @@ -43,7 +43,6 @@ <include>commons-logging:commons-logging:jar:${commons.logging.version}</include> <include>commons-lang:commons-lang</include> <include>org.apache.commons:commons-lang3:jar:${commons.lang3.version}</include> - <include>com.google.code.gson:gson</include> <include>log4j:log4j</include> <include>org.apache.commons:commons-configuration2:jar:${commons.configuration.version}</include> <include>org.apache.hadoop:hadoop-common:jar:${hadoop.version}</include> diff --git a/ranger-tools/pom.xml b/ranger-tools/pom.xml index f719ac655..14c3d56c9 100644 --- a/ranger-tools/pom.xml +++ b/ranger-tools/pom.xml @@ -46,12 +46,13 @@ <version>${commons.lang3.version}</version> </dependency> <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> + <groupId>org.apache.ranger</groupId> + <artifactId>ranger-plugins-common</artifactId> + <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.ranger</groupId> - <artifactId>ranger-plugins-common</artifactId> + <artifactId>ranger-plugins-audit</artifactId> <version>${project.version}</version> </dependency> <dependency> diff --git a/ranger-tools/scripts/ranger-mem-sizing.sh b/ranger-tools/scripts/ranger-mem-sizing.sh index c147c96f3..f284378d1 100755 --- a/ranger-tools/scripts/ranger-mem-sizing.sh +++ b/ranger-tools/scripts/ranger-mem-sizing.sh @@ -17,7 +17,6 @@ # # Review and update following variables as needed # -RANGER_ADMIN_HOME=${RANGER_ADMIN_HOME:-/opt/ranger/admin} MEMORY=1g # @@ -29,7 +28,7 @@ MEMORY=1g # # cdir=$(cd "$(dirname "$0")"; pwd) -cp="${cdir}/dist/*:${cdir}/lib/commons-cli-1.3.1.jar:${RANGER_ADMIN_HOME}/ews/lib/*:${RANGER_ADMIN_HOME}/ews/webapp/WEB-INF/lib/*" +cp="${cdir}/dist/*:${cdir}/lib/*" if [ "${JAVA_HOME}" != "" ] then diff --git a/ranger-tools/src/main/java/org/apache/ranger/sizing/RangerMemSizing.java b/ranger-tools/src/main/java/org/apache/ranger/sizing/RangerMemSizing.java index 5b6f51339..74f231013 100644 --- a/ranger-tools/src/main/java/org/apache/ranger/sizing/RangerMemSizing.java +++ b/ranger-tools/src/main/java/org/apache/ranger/sizing/RangerMemSizing.java @@ -27,15 +27,14 @@ import java.util.Set; import org.apache.commons.cli.*; import org.apache.commons.lang.StringUtils; import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig; +import org.apache.ranger.authorization.utils.JsonUtils; import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions; import org.apache.ranger.plugin.service.RangerBasePlugin; import org.apache.ranger.plugin.util.RangerRoles; +import org.apache.ranger.plugin.util.RangerUserStore; import org.apache.ranger.plugin.util.ServicePolicies; import org.apache.ranger.plugin.util.ServicePolicies.SecurityZoneInfo; import org.apache.ranger.plugin.util.ServiceTags; -import org.apache.ranger.plugin.util.RangerUserStore; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; public class RangerMemSizing { @@ -44,7 +43,6 @@ public class RangerMemSizing { private final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"); - private final Gson gson; private final String policyFile; private final String tagFile; private final String rolesFile; @@ -56,7 +54,6 @@ public class RangerMemSizing { public RangerMemSizing(CommandLine cmdLine) { this.out = System.out; - this.gson = createGson(); this.policyFile = cmdLine.getOptionValue('p'); this.tagFile = cmdLine.getOptionValue('t'); this.rolesFile = cmdLine.getOptionValue('r'); @@ -132,7 +129,7 @@ public class RangerMemSizing { PerfMemTimeTracker tracker = new PerfMemTimeTracker("Read policies"); try (FileReader reader = new FileReader(file)) { - ret = gson.fromJson(reader, ServicePolicies.class); + ret = JsonUtils.jsonToObject(reader, ServicePolicies.class); } tracker.stop(); @@ -178,10 +175,11 @@ public class RangerMemSizing { PerfMemTimeTracker tracker = new PerfMemTimeTracker("Read tags"); try (FileReader reader = new FileReader(file)) { - ret = gson.fromJson(reader, ServiceTags.class); + ret = JsonUtils.jsonToObject(reader, ServiceTags.class); } tracker.stop(); + loadTracker.addChild(tracker); } @@ -192,7 +190,8 @@ public class RangerMemSizing { tracker.stop(); loadTracker.addChild(tracker); - log("DeDupTags(duplicateTags=" + countOfDuplicateTags + ")"); + + log("DeDupTags(): duplicateTagsCount=" + countOfDuplicateTags); } if (deDupStrings) { @@ -231,7 +230,7 @@ public class RangerMemSizing { log("loading roles(file=" + fileName + ")"); try (FileReader reader = new FileReader(file)) { - ret = gson.fromJson(reader, RangerRoles.class); + ret = JsonUtils.jsonToObject(reader, RangerRoles.class); } loadTracker.stop(); @@ -264,7 +263,7 @@ public class RangerMemSizing { PerfMemTimeTracker tracker = new PerfMemTimeTracker("Read userStore"); try (FileReader reader = new FileReader(file)) { - ret = gson.fromJson(reader, RangerUserStore.class); + ret = JsonUtils.jsonToObject(reader, RangerUserStore.class); } tracker.stop(); @@ -350,18 +349,6 @@ public class RangerMemSizing { return null; } - private Gson createGson() { - Gson gson = null; - - try { - gson = new GsonBuilder().setDateFormat("yyyyMMdd-HH:mm:ss.SSS-Z").create(); - } catch(Throwable excp) { - log("failed to create GsonBuilder object", excp); - } - - return gson; - } - private void log(String msg) { out.println(DATE_FORMAT.format(new Date()) + ": " +msg); } @@ -429,7 +416,7 @@ public class RangerMemSizing { } } - return "tagDefCount=" + tagDefCount + ", tagCount" + tagCount + ", resourceCount=" + resourceCount; + return "tagDefCount=" + tagDefCount + ", tagCount=" + tagCount + ", resourceCount=" + resourceCount; } private static String toSummaryStr(RangerRoles roles) {