Repository: incubator-distributedlog Updated Branches: refs/heads/master bd13f74c5 -> 6a2560ada
Fix the script to make sure binary package can execute scripts correctly - fix the release jar path - copy the common script to each modules otherwise the built package won't be able to execute - change the type of runner and copy the runner script to each tutorial module Author: Sijie Guo <si...@apache.org> Reviewers: Jia Zhai <zhai...@apache.org> Closes #111 from sijie/sijie/copy_all_scripts_to_modules Project: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/commit/6a2560ad Tree: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/tree/6a2560ad Diff: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/diff/6a2560ad Branch: refs/heads/master Commit: 6a2560adaea3811d7c171edcdec725f1615eab55 Parents: bd13f74 Author: Sijie Guo <si...@apache.org> Authored: Tue Jan 10 21:45:42 2017 -0800 Committer: Sijie Guo <si...@apache.org> Committed: Tue Jan 10 21:45:42 2017 -0800 ---------------------------------------------------------------------- distributedlog-benchmark/bin/common.sh | 126 +++++++++++++++++++ distributedlog-benchmark/bin/dbench | 5 +- distributedlog-core/bin/common.sh | 126 +++++++++++++++++++ distributedlog-core/bin/dlog | 5 +- distributedlog-service/bin/common.sh | 126 +++++++++++++++++++ distributedlog-service/bin/dlog | 5 +- .../distributedlog-basic/bin/common.sh | 126 +++++++++++++++++++ .../distributedlog-basic/bin/runner | 42 ++++++- .../distributedlog-messaging/bin/common.sh | 126 +++++++++++++++++++ .../distributedlog-messaging/bin/runner | 42 ++++++- scripts/common.sh | 126 ------------------- scripts/integration/smoketest.sh | 14 ++- scripts/runner | 64 ---------- 13 files changed, 730 insertions(+), 203 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-benchmark/bin/common.sh ---------------------------------------------------------------------- diff --git a/distributedlog-benchmark/bin/common.sh b/distributedlog-benchmark/bin/common.sh new file mode 100755 index 0000000..0b8278c --- /dev/null +++ b/distributedlog-benchmark/bin/common.sh @@ -0,0 +1,126 @@ +#!/usr/bin/env bash +# +#/** +# * Copyright 2007 The Apache Software Foundation +# * +# * Licensed to the Apache Software Foundation (ASF) under one +# * or more contributor license agreements. See the NOTICE file +# * distributed with this work for additional information +# * regarding copyright ownership. The ASF licenses this file +# * to you under the Apache License, Version 2.0 (the +# * "License"); you may not use this file except in compliance +# * with the License. You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# */ + +if [ $(uname) == "Linux" ]; then + # check if net.ipv6.bindv6only is set to 1 + bindv6only=$(/sbin/sysctl -n net.ipv6.bindv6only 2> /dev/null) + if [ -n "${bindv6only}" ] && [ "${bindv6only}" -eq "1" ]; then + echo "Error: \"net.ipv6.bindv6only\" is set to 1 - Java networking could be broken" + echo "For more info (the following page also applies to DistributedLog): http://wiki.apache.org/hadoop/HadoopIPv6" + exit 1 + fi +fi + +# See the following page for extensive details on setting +# up the JVM to accept JMX remote management: +# http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html +# by default we allow local JMX connections +if [ -z "${JMXLOCALONLY}" ]; then + JMXLOCALONLY=false +fi + +if [ -z "${JMXDISABLE}" ]; then + echo "JMX enabled by default" >&2 + # for some reason these two options are necessary on jdk6 on Ubuntu + # accord to the docs they are not necessary, but otw jconsole cannot + # do a local attach + JMX_ARGS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=${JMXLOCALONLY}" +else + echo "JMX disabled by user request" >&2 +fi + +echo "DLOG_HOME => ${DLOG_HOME}" +DEFAULT_LOG_CONF="${DLOG_HOME}/conf/log4j.properties" + +[ -f "${DLOG_HOME}/conf/dlogenv.sh" ] && source "${DLOG_HOME}/conf/dlogenv.sh" + +# exclude tests jar +RELEASE_JAR=$(ls ${DLOG_HOME}/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) +if [ $? == 0 ]; then + DLOG_JAR="${RELEASE_JAR}" +fi + +# exclude tests jar +BUILT_JAR=$(ls ${DLOG_HOME}/target/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) + +if [ -e "${BUILD_JAR}" ] && [ -e "${DLOG_JAR}" ]; then + echo "\nCouldn't find dlog jar."; + echo "Make sure you've run 'mvn package'\n"; + exit 1; +elif [ -e "${BUILT_JAR}" ]; then + DLOG_JAR="${BUILT_JAR}" +fi + +add_maven_deps_to_classpath() { + MVN="mvn" + if [ -n "${MAVEN_HOME}" ]; then + MVN="${MAVEN_HOME}/bin/mvn" + fi + + # Need to generate classpath from maven pom. This is costly so generate it + # and cache it. Save the file into our target dir so a mvn clean will get + # clean it up and force us create a new one. + f="${PWD}/${DLOG_HOME}/target/cached_classpath.txt" + if [ ! -f "${f}" ]; then + "${MVN}" -f "${DLOG_HOME}/pom.xml" dependency:build-classpath -Dmdep.outputFile="${f}" &> /dev/null + fi + DLOG_CLASSPATH="${CLASSPATH}":$(cat "${f}") +} + +if [ -d "${DLOG_HOME}/lib" ]; then + for i in ${DLOG_HOME}/lib/*.jar; do + DLOG_CLASSPATH="${DLOG_CLASSPATH}:${i}" + done +else + add_maven_deps_to_classpath +fi + +# if no args specified, exit +if [ $# = 0 ]; then + exit 1 +fi + +if [ -z "${DLOG_LOG_CONF}" ]; then + DLOG_LOG_CONF="${DEFAULT_LOG_CONF}" +fi + +DLOG_CLASSPATH="${DLOG_JAR}:${DLOG_CLASSPATH}:${DLOG_EXTRA_CLASSPATH}" +if [ -n "${DLOG_LOG_CONF}" ]; then + DLOG_CLASSPATH="$(dirname ${DLOG_LOG_CONF}):${DLOG_CLASSPATH}" + OPTS="${OPTS} -Dlog4j.configuration=$(basename ${DLOG_LOG_CONF})" +fi +OPTS="-cp ${DLOG_CLASSPATH} ${OPTS} ${DLOG_EXTRA_OPTS}" + +OPTS="${OPTS} ${DLOG_EXTRA_OPTS}" + +# Disable ipv6 as it can cause issues +OPTS="${OPTS} -Djava.net.preferIPv4Stack=true" + +# log directory & file +DLOG_ROOT_LOGGER=${DLOG_ROOT_LOGGER:-"INFO,R"} +DLOG_LOG_DIR=${DLOG_LOG_DIR:-"$DLOG_HOME/logs"} +DLOG_LOG_FILE=${DLOG_LOG_FILE:-"dlog.log"} + +#Configure log configuration system properties +OPTS="$OPTS -Ddlog.root.logger=${DLOG_ROOT_LOGGER}" +OPTS="$OPTS -Ddlog.log.dir=${DLOG_LOG_DIR}" +OPTS="$OPTS -Ddlog.log.file=${DLOG_LOG_FILE}" http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-benchmark/bin/dbench ---------------------------------------------------------------------- diff --git a/distributedlog-benchmark/bin/dbench b/distributedlog-benchmark/bin/dbench index afcca62..b2ffd65 100755 --- a/distributedlog-benchmark/bin/dbench +++ b/distributedlog-benchmark/bin/dbench @@ -21,9 +21,8 @@ set -e BASEDIR=$(dirname "$0") -DLOG_ROOT="${BASEDIR}/../.." -DLOG_HOME="${DLOG_ROOT}/distributedlog-benchmark" +DLOG_HOME="${BASEDIR}/.." usage() { cat <<EOF @@ -44,7 +43,7 @@ These variable can also be set in conf/dlogenv.sh EOF } -source ${DLOG_ROOT}/scripts/common.sh +source ${DLOG_HOME}/bin/common.sh # get arguments COMMAND=$1 http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-core/bin/common.sh ---------------------------------------------------------------------- diff --git a/distributedlog-core/bin/common.sh b/distributedlog-core/bin/common.sh new file mode 100755 index 0000000..0b8278c --- /dev/null +++ b/distributedlog-core/bin/common.sh @@ -0,0 +1,126 @@ +#!/usr/bin/env bash +# +#/** +# * Copyright 2007 The Apache Software Foundation +# * +# * Licensed to the Apache Software Foundation (ASF) under one +# * or more contributor license agreements. See the NOTICE file +# * distributed with this work for additional information +# * regarding copyright ownership. The ASF licenses this file +# * to you under the Apache License, Version 2.0 (the +# * "License"); you may not use this file except in compliance +# * with the License. You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# */ + +if [ $(uname) == "Linux" ]; then + # check if net.ipv6.bindv6only is set to 1 + bindv6only=$(/sbin/sysctl -n net.ipv6.bindv6only 2> /dev/null) + if [ -n "${bindv6only}" ] && [ "${bindv6only}" -eq "1" ]; then + echo "Error: \"net.ipv6.bindv6only\" is set to 1 - Java networking could be broken" + echo "For more info (the following page also applies to DistributedLog): http://wiki.apache.org/hadoop/HadoopIPv6" + exit 1 + fi +fi + +# See the following page for extensive details on setting +# up the JVM to accept JMX remote management: +# http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html +# by default we allow local JMX connections +if [ -z "${JMXLOCALONLY}" ]; then + JMXLOCALONLY=false +fi + +if [ -z "${JMXDISABLE}" ]; then + echo "JMX enabled by default" >&2 + # for some reason these two options are necessary on jdk6 on Ubuntu + # accord to the docs they are not necessary, but otw jconsole cannot + # do a local attach + JMX_ARGS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=${JMXLOCALONLY}" +else + echo "JMX disabled by user request" >&2 +fi + +echo "DLOG_HOME => ${DLOG_HOME}" +DEFAULT_LOG_CONF="${DLOG_HOME}/conf/log4j.properties" + +[ -f "${DLOG_HOME}/conf/dlogenv.sh" ] && source "${DLOG_HOME}/conf/dlogenv.sh" + +# exclude tests jar +RELEASE_JAR=$(ls ${DLOG_HOME}/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) +if [ $? == 0 ]; then + DLOG_JAR="${RELEASE_JAR}" +fi + +# exclude tests jar +BUILT_JAR=$(ls ${DLOG_HOME}/target/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) + +if [ -e "${BUILD_JAR}" ] && [ -e "${DLOG_JAR}" ]; then + echo "\nCouldn't find dlog jar."; + echo "Make sure you've run 'mvn package'\n"; + exit 1; +elif [ -e "${BUILT_JAR}" ]; then + DLOG_JAR="${BUILT_JAR}" +fi + +add_maven_deps_to_classpath() { + MVN="mvn" + if [ -n "${MAVEN_HOME}" ]; then + MVN="${MAVEN_HOME}/bin/mvn" + fi + + # Need to generate classpath from maven pom. This is costly so generate it + # and cache it. Save the file into our target dir so a mvn clean will get + # clean it up and force us create a new one. + f="${PWD}/${DLOG_HOME}/target/cached_classpath.txt" + if [ ! -f "${f}" ]; then + "${MVN}" -f "${DLOG_HOME}/pom.xml" dependency:build-classpath -Dmdep.outputFile="${f}" &> /dev/null + fi + DLOG_CLASSPATH="${CLASSPATH}":$(cat "${f}") +} + +if [ -d "${DLOG_HOME}/lib" ]; then + for i in ${DLOG_HOME}/lib/*.jar; do + DLOG_CLASSPATH="${DLOG_CLASSPATH}:${i}" + done +else + add_maven_deps_to_classpath +fi + +# if no args specified, exit +if [ $# = 0 ]; then + exit 1 +fi + +if [ -z "${DLOG_LOG_CONF}" ]; then + DLOG_LOG_CONF="${DEFAULT_LOG_CONF}" +fi + +DLOG_CLASSPATH="${DLOG_JAR}:${DLOG_CLASSPATH}:${DLOG_EXTRA_CLASSPATH}" +if [ -n "${DLOG_LOG_CONF}" ]; then + DLOG_CLASSPATH="$(dirname ${DLOG_LOG_CONF}):${DLOG_CLASSPATH}" + OPTS="${OPTS} -Dlog4j.configuration=$(basename ${DLOG_LOG_CONF})" +fi +OPTS="-cp ${DLOG_CLASSPATH} ${OPTS} ${DLOG_EXTRA_OPTS}" + +OPTS="${OPTS} ${DLOG_EXTRA_OPTS}" + +# Disable ipv6 as it can cause issues +OPTS="${OPTS} -Djava.net.preferIPv4Stack=true" + +# log directory & file +DLOG_ROOT_LOGGER=${DLOG_ROOT_LOGGER:-"INFO,R"} +DLOG_LOG_DIR=${DLOG_LOG_DIR:-"$DLOG_HOME/logs"} +DLOG_LOG_FILE=${DLOG_LOG_FILE:-"dlog.log"} + +#Configure log configuration system properties +OPTS="$OPTS -Ddlog.root.logger=${DLOG_ROOT_LOGGER}" +OPTS="$OPTS -Ddlog.log.dir=${DLOG_LOG_DIR}" +OPTS="$OPTS -Ddlog.log.file=${DLOG_LOG_FILE}" http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-core/bin/dlog ---------------------------------------------------------------------- diff --git a/distributedlog-core/bin/dlog b/distributedlog-core/bin/dlog index bf48148..6a93eb3 100755 --- a/distributedlog-core/bin/dlog +++ b/distributedlog-core/bin/dlog @@ -21,9 +21,8 @@ set -e BASEDIR=$(dirname "$0") -DLOG_ROOT="${BASEDIR}/../.." -DLOG_HOME="${DLOG_ROOT}/distributedlog-core" +DLOG_HOME="${BASEDIR}/.." usage() { cat <<EOF @@ -48,7 +47,7 @@ These variable can also be set in conf/dlogenv.sh EOF } -source "${DLOG_ROOT}"/scripts/common.sh +source "${DLOG_HOME}"/bin/common.sh # get arguments COMMAND=$1 http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-service/bin/common.sh ---------------------------------------------------------------------- diff --git a/distributedlog-service/bin/common.sh b/distributedlog-service/bin/common.sh new file mode 100755 index 0000000..0b8278c --- /dev/null +++ b/distributedlog-service/bin/common.sh @@ -0,0 +1,126 @@ +#!/usr/bin/env bash +# +#/** +# * Copyright 2007 The Apache Software Foundation +# * +# * Licensed to the Apache Software Foundation (ASF) under one +# * or more contributor license agreements. See the NOTICE file +# * distributed with this work for additional information +# * regarding copyright ownership. The ASF licenses this file +# * to you under the Apache License, Version 2.0 (the +# * "License"); you may not use this file except in compliance +# * with the License. You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# */ + +if [ $(uname) == "Linux" ]; then + # check if net.ipv6.bindv6only is set to 1 + bindv6only=$(/sbin/sysctl -n net.ipv6.bindv6only 2> /dev/null) + if [ -n "${bindv6only}" ] && [ "${bindv6only}" -eq "1" ]; then + echo "Error: \"net.ipv6.bindv6only\" is set to 1 - Java networking could be broken" + echo "For more info (the following page also applies to DistributedLog): http://wiki.apache.org/hadoop/HadoopIPv6" + exit 1 + fi +fi + +# See the following page for extensive details on setting +# up the JVM to accept JMX remote management: +# http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html +# by default we allow local JMX connections +if [ -z "${JMXLOCALONLY}" ]; then + JMXLOCALONLY=false +fi + +if [ -z "${JMXDISABLE}" ]; then + echo "JMX enabled by default" >&2 + # for some reason these two options are necessary on jdk6 on Ubuntu + # accord to the docs they are not necessary, but otw jconsole cannot + # do a local attach + JMX_ARGS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=${JMXLOCALONLY}" +else + echo "JMX disabled by user request" >&2 +fi + +echo "DLOG_HOME => ${DLOG_HOME}" +DEFAULT_LOG_CONF="${DLOG_HOME}/conf/log4j.properties" + +[ -f "${DLOG_HOME}/conf/dlogenv.sh" ] && source "${DLOG_HOME}/conf/dlogenv.sh" + +# exclude tests jar +RELEASE_JAR=$(ls ${DLOG_HOME}/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) +if [ $? == 0 ]; then + DLOG_JAR="${RELEASE_JAR}" +fi + +# exclude tests jar +BUILT_JAR=$(ls ${DLOG_HOME}/target/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) + +if [ -e "${BUILD_JAR}" ] && [ -e "${DLOG_JAR}" ]; then + echo "\nCouldn't find dlog jar."; + echo "Make sure you've run 'mvn package'\n"; + exit 1; +elif [ -e "${BUILT_JAR}" ]; then + DLOG_JAR="${BUILT_JAR}" +fi + +add_maven_deps_to_classpath() { + MVN="mvn" + if [ -n "${MAVEN_HOME}" ]; then + MVN="${MAVEN_HOME}/bin/mvn" + fi + + # Need to generate classpath from maven pom. This is costly so generate it + # and cache it. Save the file into our target dir so a mvn clean will get + # clean it up and force us create a new one. + f="${PWD}/${DLOG_HOME}/target/cached_classpath.txt" + if [ ! -f "${f}" ]; then + "${MVN}" -f "${DLOG_HOME}/pom.xml" dependency:build-classpath -Dmdep.outputFile="${f}" &> /dev/null + fi + DLOG_CLASSPATH="${CLASSPATH}":$(cat "${f}") +} + +if [ -d "${DLOG_HOME}/lib" ]; then + for i in ${DLOG_HOME}/lib/*.jar; do + DLOG_CLASSPATH="${DLOG_CLASSPATH}:${i}" + done +else + add_maven_deps_to_classpath +fi + +# if no args specified, exit +if [ $# = 0 ]; then + exit 1 +fi + +if [ -z "${DLOG_LOG_CONF}" ]; then + DLOG_LOG_CONF="${DEFAULT_LOG_CONF}" +fi + +DLOG_CLASSPATH="${DLOG_JAR}:${DLOG_CLASSPATH}:${DLOG_EXTRA_CLASSPATH}" +if [ -n "${DLOG_LOG_CONF}" ]; then + DLOG_CLASSPATH="$(dirname ${DLOG_LOG_CONF}):${DLOG_CLASSPATH}" + OPTS="${OPTS} -Dlog4j.configuration=$(basename ${DLOG_LOG_CONF})" +fi +OPTS="-cp ${DLOG_CLASSPATH} ${OPTS} ${DLOG_EXTRA_OPTS}" + +OPTS="${OPTS} ${DLOG_EXTRA_OPTS}" + +# Disable ipv6 as it can cause issues +OPTS="${OPTS} -Djava.net.preferIPv4Stack=true" + +# log directory & file +DLOG_ROOT_LOGGER=${DLOG_ROOT_LOGGER:-"INFO,R"} +DLOG_LOG_DIR=${DLOG_LOG_DIR:-"$DLOG_HOME/logs"} +DLOG_LOG_FILE=${DLOG_LOG_FILE:-"dlog.log"} + +#Configure log configuration system properties +OPTS="$OPTS -Ddlog.root.logger=${DLOG_ROOT_LOGGER}" +OPTS="$OPTS -Ddlog.log.dir=${DLOG_LOG_DIR}" +OPTS="$OPTS -Ddlog.log.file=${DLOG_LOG_FILE}" http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-service/bin/dlog ---------------------------------------------------------------------- diff --git a/distributedlog-service/bin/dlog b/distributedlog-service/bin/dlog index 30e8d38..99cad40 100755 --- a/distributedlog-service/bin/dlog +++ b/distributedlog-service/bin/dlog @@ -21,8 +21,7 @@ set -e BASEDIR=$(dirname "$0") -DLOG_ROOT="${BASEDIR}/.." -DLOG_HOME="${DLOG_ROOT}" +DLOG_HOME="${BASEDIR}/.." usage() { cat <<EOF @@ -49,7 +48,7 @@ These variable can also be set in conf/dlogenv.sh EOF } -source "${DLOG_ROOT}"/../scripts/common.sh +source "${DLOG_HOME}"/bin/common.sh # get arguments COMMAND=$1 http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-tutorials/distributedlog-basic/bin/common.sh ---------------------------------------------------------------------- diff --git a/distributedlog-tutorials/distributedlog-basic/bin/common.sh b/distributedlog-tutorials/distributedlog-basic/bin/common.sh new file mode 100755 index 0000000..0b8278c --- /dev/null +++ b/distributedlog-tutorials/distributedlog-basic/bin/common.sh @@ -0,0 +1,126 @@ +#!/usr/bin/env bash +# +#/** +# * Copyright 2007 The Apache Software Foundation +# * +# * Licensed to the Apache Software Foundation (ASF) under one +# * or more contributor license agreements. See the NOTICE file +# * distributed with this work for additional information +# * regarding copyright ownership. The ASF licenses this file +# * to you under the Apache License, Version 2.0 (the +# * "License"); you may not use this file except in compliance +# * with the License. You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# */ + +if [ $(uname) == "Linux" ]; then + # check if net.ipv6.bindv6only is set to 1 + bindv6only=$(/sbin/sysctl -n net.ipv6.bindv6only 2> /dev/null) + if [ -n "${bindv6only}" ] && [ "${bindv6only}" -eq "1" ]; then + echo "Error: \"net.ipv6.bindv6only\" is set to 1 - Java networking could be broken" + echo "For more info (the following page also applies to DistributedLog): http://wiki.apache.org/hadoop/HadoopIPv6" + exit 1 + fi +fi + +# See the following page for extensive details on setting +# up the JVM to accept JMX remote management: +# http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html +# by default we allow local JMX connections +if [ -z "${JMXLOCALONLY}" ]; then + JMXLOCALONLY=false +fi + +if [ -z "${JMXDISABLE}" ]; then + echo "JMX enabled by default" >&2 + # for some reason these two options are necessary on jdk6 on Ubuntu + # accord to the docs they are not necessary, but otw jconsole cannot + # do a local attach + JMX_ARGS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=${JMXLOCALONLY}" +else + echo "JMX disabled by user request" >&2 +fi + +echo "DLOG_HOME => ${DLOG_HOME}" +DEFAULT_LOG_CONF="${DLOG_HOME}/conf/log4j.properties" + +[ -f "${DLOG_HOME}/conf/dlogenv.sh" ] && source "${DLOG_HOME}/conf/dlogenv.sh" + +# exclude tests jar +RELEASE_JAR=$(ls ${DLOG_HOME}/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) +if [ $? == 0 ]; then + DLOG_JAR="${RELEASE_JAR}" +fi + +# exclude tests jar +BUILT_JAR=$(ls ${DLOG_HOME}/target/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) + +if [ -e "${BUILD_JAR}" ] && [ -e "${DLOG_JAR}" ]; then + echo "\nCouldn't find dlog jar."; + echo "Make sure you've run 'mvn package'\n"; + exit 1; +elif [ -e "${BUILT_JAR}" ]; then + DLOG_JAR="${BUILT_JAR}" +fi + +add_maven_deps_to_classpath() { + MVN="mvn" + if [ -n "${MAVEN_HOME}" ]; then + MVN="${MAVEN_HOME}/bin/mvn" + fi + + # Need to generate classpath from maven pom. This is costly so generate it + # and cache it. Save the file into our target dir so a mvn clean will get + # clean it up and force us create a new one. + f="${PWD}/${DLOG_HOME}/target/cached_classpath.txt" + if [ ! -f "${f}" ]; then + "${MVN}" -f "${DLOG_HOME}/pom.xml" dependency:build-classpath -Dmdep.outputFile="${f}" &> /dev/null + fi + DLOG_CLASSPATH="${CLASSPATH}":$(cat "${f}") +} + +if [ -d "${DLOG_HOME}/lib" ]; then + for i in ${DLOG_HOME}/lib/*.jar; do + DLOG_CLASSPATH="${DLOG_CLASSPATH}:${i}" + done +else + add_maven_deps_to_classpath +fi + +# if no args specified, exit +if [ $# = 0 ]; then + exit 1 +fi + +if [ -z "${DLOG_LOG_CONF}" ]; then + DLOG_LOG_CONF="${DEFAULT_LOG_CONF}" +fi + +DLOG_CLASSPATH="${DLOG_JAR}:${DLOG_CLASSPATH}:${DLOG_EXTRA_CLASSPATH}" +if [ -n "${DLOG_LOG_CONF}" ]; then + DLOG_CLASSPATH="$(dirname ${DLOG_LOG_CONF}):${DLOG_CLASSPATH}" + OPTS="${OPTS} -Dlog4j.configuration=$(basename ${DLOG_LOG_CONF})" +fi +OPTS="-cp ${DLOG_CLASSPATH} ${OPTS} ${DLOG_EXTRA_OPTS}" + +OPTS="${OPTS} ${DLOG_EXTRA_OPTS}" + +# Disable ipv6 as it can cause issues +OPTS="${OPTS} -Djava.net.preferIPv4Stack=true" + +# log directory & file +DLOG_ROOT_LOGGER=${DLOG_ROOT_LOGGER:-"INFO,R"} +DLOG_LOG_DIR=${DLOG_LOG_DIR:-"$DLOG_HOME/logs"} +DLOG_LOG_FILE=${DLOG_LOG_FILE:-"dlog.log"} + +#Configure log configuration system properties +OPTS="$OPTS -Ddlog.root.logger=${DLOG_ROOT_LOGGER}" +OPTS="$OPTS -Ddlog.log.dir=${DLOG_LOG_DIR}" +OPTS="$OPTS -Ddlog.log.file=${DLOG_LOG_FILE}" http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-tutorials/distributedlog-basic/bin/runner ---------------------------------------------------------------------- diff --git a/distributedlog-tutorials/distributedlog-basic/bin/runner b/distributedlog-tutorials/distributedlog-basic/bin/runner deleted file mode 120000 index 7a0fefc..0000000 --- a/distributedlog-tutorials/distributedlog-basic/bin/runner +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -# -#/** -# * Copyright 2007 The Apache Software Foundation -# * -# * Licensed to the Apache Software Foundation (ASF) under one -# * or more contributor license agreements. See the NOTICE file -# * distributed with this work for additional information -# * regarding copyright ownership. The ASF licenses this file -# * to you under the Apache License, Version 2.0 (the -# * "License"); you may not use this file except in compliance -# * with the License. You may obtain a copy of the License at -# * -# * http://www.apache.org/licenses/LICENSE-2.0 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# */ - -../../../scripts/runner diff --git a/distributedlog-tutorials/distributedlog-basic/bin/runner b/distributedlog-tutorials/distributedlog-basic/bin/runner new file mode 100755 index 0000000..be23e00 --- /dev/null +++ b/distributedlog-tutorials/distributedlog-basic/bin/runner @@ -0,0 +1,63 @@ +#!/usr/bin/env bash +# +#/** +# * Copyright 2007 The Apache Software Foundation +# * +# * Licensed to the Apache Software Foundation (ASF) under one +# * or more contributor license agreements. See the NOTICE file +# * distributed with this work for additional information +# * regarding copyright ownership. The ASF licenses this file +# * to you under the Apache License, Version 2.0 (the +# * "License"); you may not use this file except in compliance +# * with the License. You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# */ + +set -e + +BASEDIR=$(dirname "$0") +DLOG_HOME="${BASEDIR}/.." + +usage() { + cat <<EOF +Usage: runner <command> +where command is one of: + run Run distributedlog example + help This help message + +or command is the full name of a class with a defined main() method. + +Environment variables: + DLOG_LOG_CONF Log4j configuration file (default $DEFAULT_LOG_CONF) + DLOG_EXTRA_OPTS Extra options to be passed to the jvm + DLOG_EXTRA_CLASSPATH Add extra paths to the dlog classpath + +These variable can also be set in conf/dlogenv.sh +EOF +} + +source "${DLOG_HOME}/bin/common.sh" + +# get arguments +COMMAND="${1}" +shift + +case "${COMMAND}" in + run) + java ${OPTS} $@ + ;; + help) + usage + ;; + *) + usage + exit 1 + ;; +esac http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-tutorials/distributedlog-messaging/bin/common.sh ---------------------------------------------------------------------- diff --git a/distributedlog-tutorials/distributedlog-messaging/bin/common.sh b/distributedlog-tutorials/distributedlog-messaging/bin/common.sh new file mode 100755 index 0000000..0b8278c --- /dev/null +++ b/distributedlog-tutorials/distributedlog-messaging/bin/common.sh @@ -0,0 +1,126 @@ +#!/usr/bin/env bash +# +#/** +# * Copyright 2007 The Apache Software Foundation +# * +# * Licensed to the Apache Software Foundation (ASF) under one +# * or more contributor license agreements. See the NOTICE file +# * distributed with this work for additional information +# * regarding copyright ownership. The ASF licenses this file +# * to you under the Apache License, Version 2.0 (the +# * "License"); you may not use this file except in compliance +# * with the License. You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# */ + +if [ $(uname) == "Linux" ]; then + # check if net.ipv6.bindv6only is set to 1 + bindv6only=$(/sbin/sysctl -n net.ipv6.bindv6only 2> /dev/null) + if [ -n "${bindv6only}" ] && [ "${bindv6only}" -eq "1" ]; then + echo "Error: \"net.ipv6.bindv6only\" is set to 1 - Java networking could be broken" + echo "For more info (the following page also applies to DistributedLog): http://wiki.apache.org/hadoop/HadoopIPv6" + exit 1 + fi +fi + +# See the following page for extensive details on setting +# up the JVM to accept JMX remote management: +# http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html +# by default we allow local JMX connections +if [ -z "${JMXLOCALONLY}" ]; then + JMXLOCALONLY=false +fi + +if [ -z "${JMXDISABLE}" ]; then + echo "JMX enabled by default" >&2 + # for some reason these two options are necessary on jdk6 on Ubuntu + # accord to the docs they are not necessary, but otw jconsole cannot + # do a local attach + JMX_ARGS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=${JMXLOCALONLY}" +else + echo "JMX disabled by user request" >&2 +fi + +echo "DLOG_HOME => ${DLOG_HOME}" +DEFAULT_LOG_CONF="${DLOG_HOME}/conf/log4j.properties" + +[ -f "${DLOG_HOME}/conf/dlogenv.sh" ] && source "${DLOG_HOME}/conf/dlogenv.sh" + +# exclude tests jar +RELEASE_JAR=$(ls ${DLOG_HOME}/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) +if [ $? == 0 ]; then + DLOG_JAR="${RELEASE_JAR}" +fi + +# exclude tests jar +BUILT_JAR=$(ls ${DLOG_HOME}/target/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) + +if [ -e "${BUILD_JAR}" ] && [ -e "${DLOG_JAR}" ]; then + echo "\nCouldn't find dlog jar."; + echo "Make sure you've run 'mvn package'\n"; + exit 1; +elif [ -e "${BUILT_JAR}" ]; then + DLOG_JAR="${BUILT_JAR}" +fi + +add_maven_deps_to_classpath() { + MVN="mvn" + if [ -n "${MAVEN_HOME}" ]; then + MVN="${MAVEN_HOME}/bin/mvn" + fi + + # Need to generate classpath from maven pom. This is costly so generate it + # and cache it. Save the file into our target dir so a mvn clean will get + # clean it up and force us create a new one. + f="${PWD}/${DLOG_HOME}/target/cached_classpath.txt" + if [ ! -f "${f}" ]; then + "${MVN}" -f "${DLOG_HOME}/pom.xml" dependency:build-classpath -Dmdep.outputFile="${f}" &> /dev/null + fi + DLOG_CLASSPATH="${CLASSPATH}":$(cat "${f}") +} + +if [ -d "${DLOG_HOME}/lib" ]; then + for i in ${DLOG_HOME}/lib/*.jar; do + DLOG_CLASSPATH="${DLOG_CLASSPATH}:${i}" + done +else + add_maven_deps_to_classpath +fi + +# if no args specified, exit +if [ $# = 0 ]; then + exit 1 +fi + +if [ -z "${DLOG_LOG_CONF}" ]; then + DLOG_LOG_CONF="${DEFAULT_LOG_CONF}" +fi + +DLOG_CLASSPATH="${DLOG_JAR}:${DLOG_CLASSPATH}:${DLOG_EXTRA_CLASSPATH}" +if [ -n "${DLOG_LOG_CONF}" ]; then + DLOG_CLASSPATH="$(dirname ${DLOG_LOG_CONF}):${DLOG_CLASSPATH}" + OPTS="${OPTS} -Dlog4j.configuration=$(basename ${DLOG_LOG_CONF})" +fi +OPTS="-cp ${DLOG_CLASSPATH} ${OPTS} ${DLOG_EXTRA_OPTS}" + +OPTS="${OPTS} ${DLOG_EXTRA_OPTS}" + +# Disable ipv6 as it can cause issues +OPTS="${OPTS} -Djava.net.preferIPv4Stack=true" + +# log directory & file +DLOG_ROOT_LOGGER=${DLOG_ROOT_LOGGER:-"INFO,R"} +DLOG_LOG_DIR=${DLOG_LOG_DIR:-"$DLOG_HOME/logs"} +DLOG_LOG_FILE=${DLOG_LOG_FILE:-"dlog.log"} + +#Configure log configuration system properties +OPTS="$OPTS -Ddlog.root.logger=${DLOG_ROOT_LOGGER}" +OPTS="$OPTS -Ddlog.log.dir=${DLOG_LOG_DIR}" +OPTS="$OPTS -Ddlog.log.file=${DLOG_LOG_FILE}" http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/distributedlog-tutorials/distributedlog-messaging/bin/runner ---------------------------------------------------------------------- diff --git a/distributedlog-tutorials/distributedlog-messaging/bin/runner b/distributedlog-tutorials/distributedlog-messaging/bin/runner deleted file mode 120000 index 7a0fefc..0000000 --- a/distributedlog-tutorials/distributedlog-messaging/bin/runner +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -# -#/** -# * Copyright 2007 The Apache Software Foundation -# * -# * Licensed to the Apache Software Foundation (ASF) under one -# * or more contributor license agreements. See the NOTICE file -# * distributed with this work for additional information -# * regarding copyright ownership. The ASF licenses this file -# * to you under the Apache License, Version 2.0 (the -# * "License"); you may not use this file except in compliance -# * with the License. You may obtain a copy of the License at -# * -# * http://www.apache.org/licenses/LICENSE-2.0 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# */ - -../../../scripts/runner diff --git a/distributedlog-tutorials/distributedlog-messaging/bin/runner b/distributedlog-tutorials/distributedlog-messaging/bin/runner new file mode 100755 index 0000000..be23e00 --- /dev/null +++ b/distributedlog-tutorials/distributedlog-messaging/bin/runner @@ -0,0 +1,63 @@ +#!/usr/bin/env bash +# +#/** +# * Copyright 2007 The Apache Software Foundation +# * +# * Licensed to the Apache Software Foundation (ASF) under one +# * or more contributor license agreements. See the NOTICE file +# * distributed with this work for additional information +# * regarding copyright ownership. The ASF licenses this file +# * to you under the Apache License, Version 2.0 (the +# * "License"); you may not use this file except in compliance +# * with the License. You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# */ + +set -e + +BASEDIR=$(dirname "$0") +DLOG_HOME="${BASEDIR}/.." + +usage() { + cat <<EOF +Usage: runner <command> +where command is one of: + run Run distributedlog example + help This help message + +or command is the full name of a class with a defined main() method. + +Environment variables: + DLOG_LOG_CONF Log4j configuration file (default $DEFAULT_LOG_CONF) + DLOG_EXTRA_OPTS Extra options to be passed to the jvm + DLOG_EXTRA_CLASSPATH Add extra paths to the dlog classpath + +These variable can also be set in conf/dlogenv.sh +EOF +} + +source "${DLOG_HOME}/bin/common.sh" + +# get arguments +COMMAND="${1}" +shift + +case "${COMMAND}" in + run) + java ${OPTS} $@ + ;; + help) + usage + ;; + *) + usage + exit 1 + ;; +esac http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/scripts/common.sh ---------------------------------------------------------------------- diff --git a/scripts/common.sh b/scripts/common.sh deleted file mode 100755 index 8df5248..0000000 --- a/scripts/common.sh +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env bash -# -#/** -# * Copyright 2007 The Apache Software Foundation -# * -# * Licensed to the Apache Software Foundation (ASF) under one -# * or more contributor license agreements. See the NOTICE file -# * distributed with this work for additional information -# * regarding copyright ownership. The ASF licenses this file -# * to you under the Apache License, Version 2.0 (the -# * "License"); you may not use this file except in compliance -# * with the License. You may obtain a copy of the License at -# * -# * http://www.apache.org/licenses/LICENSE-2.0 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# */ - -if [ $(uname) == "Linux" ]; then - # check if net.ipv6.bindv6only is set to 1 - bindv6only=$(/sbin/sysctl -n net.ipv6.bindv6only 2> /dev/null) - if [ -n "${bindv6only}" ] && [ "${bindv6only}" -eq "1" ]; then - echo "Error: \"net.ipv6.bindv6only\" is set to 1 - Java networking could be broken" - echo "For more info (the following page also applies to DistributedLog): http://wiki.apache.org/hadoop/HadoopIPv6" - exit 1 - fi -fi - -# See the following page for extensive details on setting -# up the JVM to accept JMX remote management: -# http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html -# by default we allow local JMX connections -if [ -z "${JMXLOCALONLY}" ]; then - JMXLOCALONLY=false -fi - -if [ -z "${JMXDISABLE}" ]; then - echo "JMX enabled by default" >&2 - # for some reason these two options are necessary on jdk6 on Ubuntu - # accord to the docs they are not necessary, but otw jconsole cannot - # do a local attach - JMX_ARGS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=${JMXLOCALONLY}" -else - echo "JMX disabled by user request" >&2 -fi - -echo "DLOG_HOME => ${DLOG_HOME}" -DEFAULT_LOG_CONF="${DLOG_HOME}/conf/log4j.properties" - -[ -f "${DLOG_HOME}/conf/dlogenv.sh" ] && source "${DLOG_HOME}/conf/dlogenv.sh" - -# exclude tests jar -RELEASE_JAR=$(ls "${DLOG_HOME}/distributedlog-*.jar" 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) -if [ $? == 0 ]; then - DLOG_JAR="${RELEASE_JAR}" -fi - -# exclude tests jar -BUILT_JAR=$(ls "${DLOG_HOME}"/target/distributedlog-*.jar 2> /dev/null | grep -v 'tests|javadoc|sources' | tail -1) - -if [ -e "${BUILD_JAR}" ] && [ -e "${DLOG_JAR}" ]; then - echo "\nCouldn't find dlog jar."; - echo "Make sure you've run 'mvn package'\n"; - exit 1; -elif [ -e "${BUILT_JAR}" ]; then - DLOG_JAR="${BUILT_JAR}" -fi - -add_maven_deps_to_classpath() { - MVN="mvn" - if [ -n "${MAVEN_HOME}" ]; then - MVN="${MAVEN_HOME}/bin/mvn" - fi - - # Need to generate classpath from maven pom. This is costly so generate it - # and cache it. Save the file into our target dir so a mvn clean will get - # clean it up and force us create a new one. - f="${PWD}/${DLOG_HOME}/target/cached_classpath.txt" - if [ ! -f "${f}" ]; then - "${MVN}" -f "${DLOG_HOME}/pom.xml" dependency:build-classpath -Dmdep.outputFile="${f}" &> /dev/null - fi - DLOG_CLASSPATH="${CLASSPATH}":$(cat "${f}") -} - -if [ -d "${DLOG_HOME}/lib" ]; then - for i in ${DLOG_HOME}/lib/*.jar; do - DLOG_CLASSPATH="${DLOG_CLASSPATH}:${i}" - done -else - add_maven_deps_to_classpath -fi - -# if no args specified, exit -if [ $# = 0 ]; then - exit 1 -fi - -if [ -z "${DLOG_LOG_CONF}" ]; then - DLOG_LOG_CONF="${DEFAULT_LOG_CONF}" -fi - -DLOG_CLASSPATH="${DLOG_JAR}:${DLOG_CLASSPATH}:${DLOG_EXTRA_CLASSPATH}" -if [ -n "${DLOG_LOG_CONF}" ]; then - DLOG_CLASSPATH="$(dirname ${DLOG_LOG_CONF}):${DLOG_CLASSPATH}" - OPTS="${OPTS} -Dlog4j.configuration=$(basename ${DLOG_LOG_CONF})" -fi -OPTS="-cp ${DLOG_CLASSPATH} ${OPTS} ${DLOG_EXTRA_OPTS}" - -OPTS="${OPTS} ${DLOG_EXTRA_OPTS}" - -# Disable ipv6 as it can cause issues -OPTS="${OPTS} -Djava.net.preferIPv4Stack=true" - -# log directory & file -DLOG_ROOT_LOGGER=${DLOG_ROOT_LOGGER:-"INFO,R"} -DLOG_LOG_DIR=${DLOG_LOG_DIR:-"$DLOG_HOME/logs"} -DLOG_LOG_FILE=${DLOG_LOG_FILE:-"dlog.log"} - -#Configure log configuration system properties -OPTS="$OPTS -Ddlog.root.logger=${DLOG_ROOT_LOGGER}" -OPTS="$OPTS -Ddlog.log.dir=${DLOG_LOG_DIR}" -OPTS="$OPTS -Ddlog.log.file=${DLOG_LOG_FILE}" http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/scripts/integration/smoketest.sh ---------------------------------------------------------------------- diff --git a/scripts/integration/smoketest.sh b/scripts/integration/smoketest.sh index 991dc6b..0de830d 100755 --- a/scripts/integration/smoketest.sh +++ b/scripts/integration/smoketest.sh @@ -88,10 +88,20 @@ echo $! > ${LOG_DIR}/writer.pid sleep 20 # kill the writer -kill `cat ${LOG_DIR}/writer.pid` +if [ -f ${LOG_DIR}/writer.pid ]; then + writerpid=$(cat ${LOG_DIR}/writer.pid) + if kill -0 $writerpid > /dev/null 2>&1; then + kill $writerpid + fi +fi # stop the reader -kill `cat ${LOG_DIR}/reader.pid` +if [ -f ${LOG_DIR}/reader.pid ]; then + readerpid=$(cat ${LOG_DIR}/reader.pid) + if kill -0 $readerpid > /dev/null 2>&1; then + kill $readerpid + fi +fi # check the number of records received NUM_RECORDS=`cat ${LOG_DIR}/reader.out | grep "record-" | wc -l` http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/6a2560ad/scripts/runner ---------------------------------------------------------------------- diff --git a/scripts/runner b/scripts/runner deleted file mode 100755 index 78ce126..0000000 --- a/scripts/runner +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash -# -#/** -# * Copyright 2007 The Apache Software Foundation -# * -# * Licensed to the Apache Software Foundation (ASF) under one -# * or more contributor license agreements. See the NOTICE file -# * distributed with this work for additional information -# * regarding copyright ownership. The ASF licenses this file -# * to you under the Apache License, Version 2.0 (the -# * "License"); you may not use this file except in compliance -# * with the License. You may obtain a copy of the License at -# * -# * http://www.apache.org/licenses/LICENSE-2.0 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# */ - -set -e - -BASEDIR=$(dirname "$0") -DLOG_ROOT="${BASEDIR}/../../.." -DLOG_HOME="${BASEDIR}/.." - -usage() { - cat <<EOF -Usage: runner <command> -where command is one of: - run Run distributedlog example - help This help message - -or command is the full name of a class with a defined main() method. - -Environment variables: - DLOG_LOG_CONF Log4j configuration file (default $DEFAULT_LOG_CONF) - DLOG_EXTRA_OPTS Extra options to be passed to the jvm - DLOG_EXTRA_CLASSPATH Add extra paths to the dlog classpath - -These variable can also be set in conf/dlogenv.sh -EOF -} - -source "${DLOG_ROOT}/scripts/common.sh" - -# get arguments -COMMAND="${1}" -shift - -case "${COMMAND}" in - run) - java ${OPTS} $@ - ;; - help) - usage - ;; - *) - usage - exit 1 - ;; -esac