[ https://issues.apache.org/jira/browse/SENTRY-430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14138527#comment-14138527
]
Lenni Kuff commented on SENTRY-430:
-----------------------------------
bq. Hence the script makes the assumption that when you have Hive env set, then you are invoking
config tool and doesn't include server jars in the classpath.
This seems a bit unintuitive to me. I think it is strange that just having HIVE_HOME set causes
this sort of behavior change when starting up the service. It's also strange that the CLASSPATH
will get filled with a bunch of Hive JARs, which (as we see from this bug) cause Sentry Service
to fail to work properly.
> Sentry Service does not use correct classpath when HIVE_HOME environment var is defined
> ---------------------------------------------------------------------------------------
>
> Key: SENTRY-430
> URL: https://issues.apache.org/jira/browse/SENTRY-430
> Project: Sentry
> Issue Type: Bug
> Affects Versions: 1.4.0
> Reporter: Lenni Kuff
> Assignee: Arun Suresh
>
> When HIVE_HOME is set as an environment variable, the Sentry Service will not run with
the correct classpath when invoked using "bin/sentry".
> The code below is from "bin/sentry". Note how if HIVE_HOME is defined nothing from lib/server/*
is added to the classpath.
> As a side note, it seems strange that there even is a reference to Hive in this context.
It seems that the sentry service is being executed via Hive when HIVE_HOME is defined. It
seems like we should not do this.
> {code}
> if [[ -z "$HIVE_HOME" ]]
> then
> for f in ${SENTRY_HOME}/lib/server/*.jar; do
> HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${f}
> done
> exec $HADOOP jar ${SENTRY_HOME}/lib/${_CMD_JAR} org.apache.sentry.SentryMain ${args[@]}
> else
> _HIVE_CMD=${HIVE_HOME}/bin/hive
> ${_HIVE_CMD} --service jar ${SENTRY_HOME}/lib/${_CMD_JAR} org.apache.sentry.SentryMain
${args[@]}
> fi
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
|