IMPALA-6850: Print actual error message on Sentry error The patch puts the output of Sentry to $IMPALA_CLUSTER_LOGS_DIR/sentry/sentry.out to follow the same convention as other service output logs.
Testing: - Injected some failure in run-sentry-service.sh script to see if the error message was captured Change-Id: I76627bb5b986a548ec6e4f12b555bd6fc8c4dab8 Reviewed-on: http://gerrit.cloudera.org:8080/10064 Reviewed-by: Vuk Ercegovac <vercego...@cloudera.com> Reviewed-by: Philip Zeyliger <phi...@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Project: http://git-wip-us.apache.org/repos/asf/impala/repo Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/51cf5b27 Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/51cf5b27 Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/51cf5b27 Branch: refs/heads/master Commit: 51cf5b27fc3a5f5c7965d1bf88aebe2a6132b538 Parents: b4228df Author: Fredy Wijaya <fwij...@cloudera.com> Authored: Fri Apr 13 13:46:56 2018 -0500 Committer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Committed: Sat Apr 14 01:41:38 2018 +0000 ---------------------------------------------------------------------- testdata/bin/run-all.sh | 8 ++++---- testdata/bin/run-sentry-service.sh | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/impala/blob/51cf5b27/testdata/bin/run-all.sh ---------------------------------------------------------------------- diff --git a/testdata/bin/run-all.sh b/testdata/bin/run-all.sh index f722b89..6820e5d 100755 --- a/testdata/bin/run-all.sh +++ b/testdata/bin/run-all.sh @@ -57,8 +57,8 @@ if [[ ${DEFAULT_FS} == "hdfs://localhost:20500" ]]; then tee ${IMPALA_CLUSTER_LOGS_DIR}/run-hive-server.log echo " --> Starting the Sentry Policy Server" - $IMPALA_HOME/testdata/bin/run-sentry-service.sh > \ - ${IMPALA_CLUSTER_LOGS_DIR}/run-sentry-service.log 2>&1 + $IMPALA_HOME/testdata/bin/run-sentry-service.sh 2>&1 | \ + tee ${IMPALA_CLUSTER_LOGS_DIR}/run-sentry-service.log elif [[ ${DEFAULT_FS} == "${LOCAL_FS}" ]]; then # When the local file system is used as default, we only start the Hive metastore. @@ -80,6 +80,6 @@ else tee ${IMPALA_CLUSTER_LOGS_DIR}/run-hive-server.log echo " --> Starting the Sentry Policy Server" - $IMPALA_HOME/testdata/bin/run-sentry-service.sh > \ - ${IMPALA_CLUSTER_LOGS_DIR}/run-sentry-service.log 2>&1 + $IMPALA_HOME/testdata/bin/run-sentry-service.sh 2>&1 | \ + tee ${IMPALA_CLUSTER_LOGS_DIR}/run-sentry-service.log fi http://git-wip-us.apache.org/repos/asf/impala/blob/51cf5b27/testdata/bin/run-sentry-service.sh ---------------------------------------------------------------------- diff --git a/testdata/bin/run-sentry-service.sh b/testdata/bin/run-sentry-service.sh index cb6de28..755c382 100755 --- a/testdata/bin/run-sentry-service.sh +++ b/testdata/bin/run-sentry-service.sh @@ -23,6 +23,9 @@ trap 'echo Error in $0 at line $LINENO: $(cd "'$PWD'" && awk "NR == $LINENO" $0) . ${IMPALA_HOME}/bin/set-classpath.sh SENTRY_SERVICE_CONFIG=${SENTRY_CONF_DIR}/sentry-site.xml +LOGDIR="${IMPALA_CLUSTER_LOGS_DIR}"/sentry + +mkdir -p "${LOGDIR}" || true # First kill any running instances of the service. $IMPALA_HOME/testdata/bin/kill-sentry-service.sh @@ -30,7 +33,7 @@ $IMPALA_HOME/testdata/bin/kill-sentry-service.sh # Sentry picks up JARs from the HADOOP_CLASSPATH and not the CLASSPATH. export HADOOP_CLASSPATH=${POSTGRES_JDBC_DRIVER} # Start the service. -${SENTRY_HOME}/bin/sentry --command service -c ${SENTRY_SERVICE_CONFIG} & +${SENTRY_HOME}/bin/sentry --command service -c ${SENTRY_SERVICE_CONFIG} > "${LOGDIR}"/sentry.out 2>&1 & # Wait for the service to come online "$JAVA" -cp $CLASSPATH org.apache.impala.testutil.SentryServicePinger \