You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by pr...@apache.org on 2020/12/04 15:51:22 UTC
[ranger] 01/03: RANGER-3092: KMS fails to start with
NullPointerException in catalina.out logs
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
commit cbd4cdbb2567e86da7ecd89c0d55b088b107e559
Author: Mahesh Bandal <ma...@gmail.com>
AuthorDate: Wed Dec 2 23:47:44 2020 +0530
RANGER-3092: KMS fails to start with NullPointerException in catalina.out logs
Signed-off-by: pradeep <pr...@apache.org>
---
.../java/org/apache/ranger/server/tomcat/EmbeddedServer.java | 12 +++++++++---
kms/scripts/ranger-kms | 3 ++-
.../org/apache/ranger/tagsync/process/TagSynchronizer.java | 12 +++++++++---
.../ranger/authentication/UnixAuthenticationService.java | 12 +++++++++---
4 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
index f6d735c..30d8305 100644
--- a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
+++ b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
@@ -90,9 +90,15 @@ public class EmbeddedServer {
configFile = args[0];
}
- // load log configuration file dynamically if log4j.properties changed
- String logPropFile = StringUtils.splitByWholeSeparator(System.getProperty("log4j.configuration"), ":")[1];
- PropertyConfigurator.configureAndWatch(logPropFile, 10000L);
+ try {
+ // load log configuration file dynamically if log4j.properties changed
+ if (StringUtils.isNotBlank(System.getProperty("log4j.configuration"))) {
+ String logPropFile = StringUtils.splitByWholeSeparator(System.getProperty("log4j.configuration"), ":")[1];
+ PropertyConfigurator.configureAndWatch(logPropFile, 10000L);
+ }
+ } catch (Exception ignored) {
+ LOG.warning("Failed to get log4j.configuration Reason: " + ignored.toString());
+ }
EmbeddedServerUtil.loadRangerConfigProperties(configFile);
}
diff --git a/kms/scripts/ranger-kms b/kms/scripts/ranger-kms
index bfe7bd5..5eebc77 100755
--- a/kms/scripts/ranger-kms
+++ b/kms/scripts/ranger-kms
@@ -98,6 +98,7 @@ TOMCAT_LOG_DIR=${RANGER_KMS_LOG_DIR}
TOMCAT_LOG_FILE=${TOMCAT_LOG_DIR}/catalina.out
TOMCAT_STOP_LOG_FILE=${TOMCAT_LOG_DIR}/stop_catalina.out
+KMS_LOG_PROPERTIES_FILE=${RANGER_KMS_EWS_CONF_DIR}/kms-log4j.properties
if [ ! -d ${TOMCAT_LOG_DIR} ]
then
@@ -106,7 +107,7 @@ fi
KMS_CONF_DIR=${RANGER_KMS_EWS_DIR}/webapp/WEB-INF/classes/conf
SERVER_NAME=rangerkms
-JAVA_OPTS="${JAVA_OPTS} ${DB_SSL_PARAM} -Duser=${USER} -Dhostname=${HOSTNAME} -Dservername=${SERVER_NAME} -Dcatalina.base=${RANGER_KMS_EWS_DIR} -Dkms.config.dir=${KMS_CONF_DIR} -Dkms.log.dir=${TOMCAT_LOG_DIR} -cp ${RANGER_KMS_EWS_CONF_DIR}:${RANGER_KMS_EWS_LIB_DIR}/*:${RANGER_KMS_EWS_DIR}/webapp/lib/*:${JAVA_HOME}/lib/*:${RANGER_HADOOP_CONF_DIR}/*:$CLASSPATH "
+JAVA_OPTS="${JAVA_OPTS} ${DB_SSL_PARAM} -Duser=${USER} -Dhostname=${HOSTNAME} -Dservername=${SERVER_NAME} -Dcatalina.base=${RANGER_KMS_EWS_DIR} -Dkms.config.dir=${KMS_CONF_DIR} -Dlog4j.configuration=file:${KMS_LOG_PROPERTIES_FILE} -Dkms.log.dir=${TOMCAT_LOG_DIR} -cp ${RANGER_KMS_EWS_CONF_DIR}:${RANGER_KMS_EWS_LIB_DIR}/*:${RANGER_KMS_EWS_DIR}/webapp/lib/*:${JAVA_HOME}/lib/*:${RANGER_HADOOP_CONF_DIR}/*:$CLASSPATH "
createRangerKMSPid () {
SLEEP_TIME_AFTER_START=5
nohup java -D${PROC_NAME} ${JAVA_OPTS} ${START_CLASS_NAME} ${KMS_CONFIG_FILENAME} > ${TOMCAT_LOG_FILE} 2>&1 &
diff --git a/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSynchronizer.java b/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSynchronizer.java
index 1b0649f..c723b0f 100644
--- a/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSynchronizer.java
+++ b/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSynchronizer.java
@@ -55,9 +55,15 @@ public class TagSynchronizer {
public static void main(String[] args) {
- // load log configuration file dynamically if log4j.properties changed
- String logPropFile = StringUtils.splitByWholeSeparator(System.getProperty("log4j.configuration"), ":")[1];
- PropertyConfigurator.configureAndWatch(logPropFile, 10000L);
+ try {
+ // load log configuration file dynamically if log4j.properties changed
+ if (StringUtils.isNotBlank(System.getProperty("log4j.configuration"))) {
+ String logPropFile = StringUtils.splitByWholeSeparator(System.getProperty("log4j.configuration"), ":")[1];
+ PropertyConfigurator.configureAndWatch(logPropFile, 10000L);
+ }
+ } catch (Exception ignored) {
+ LOG.warn("Failed to get log4j.configuration Reason: " + ignored.toString());
+ }
TagSynchronizer tagSynchronizer = new TagSynchronizer();
diff --git a/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java b/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java
index 4d84a96..3f7886b 100644
--- a/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java
+++ b/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java
@@ -92,9 +92,15 @@ public class UnixAuthenticationService {
public static void main(String[] args) {
- // load log configuration file dynamically if log4j.properties changed
- String logPropFile = StringUtils.splitByWholeSeparator(System.getProperty("log4j.configuration"), ":")[1];
- PropertyConfigurator.configureAndWatch(logPropFile, 10000L);
+ try {
+ // load log configuration file dynamically if log4j.properties changed
+ if (StringUtils.isNotBlank(System.getProperty("log4j.configuration"))) {
+ String logPropFile = StringUtils.splitByWholeSeparator(System.getProperty("log4j.configuration"), ":")[1];
+ PropertyConfigurator.configureAndWatch(logPropFile, 10000L);
+ }
+ } catch (Exception ignored) {
+ LOG.warn("Failed to get log4j.configuration Reason: " + ignored.toString());
+ }
if (args.length > 0) {
for (String s : args) {