Files
impala/testdata/bin/split-hbase.sh
Casey Ching e2bfb6ae2f Misc improvements to shell scripts about error reporting
Changes:
  1) Consistently use "set -euo pipefail".
  2) When an error happens, print the file and line.
  3) Consolidated some of the kill scripts.
  4) Added better error messages to the load data script.
  5) Changed use of #!/bin/sh to bash.

Change-Id: I14fef66c46c1b4461859382ba3fd0dee0fbcdce1
Reviewed-on: http://gerrit.cloudera.org:8080/1620
Reviewed-by: Casey Ching <casey@cloudera.com>
Tested-by: Internal Jenkins
2015-12-17 18:25:27 +00:00

44 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Copyright (c) 2012 Cloudera, Inc. All rights reserved.
set -euo pipefail
trap 'echo Error in $0 at line $LINENO: $(awk "NR == $LINENO" $0)' ERR
. ${IMPALA_HOME}/bin/impala-config.sh
if ${CLUSTER_DIR}/admin is_kerberized; then
KERB_ARGS="--use_kerberos"
else
KERB_ARGS=
fi
# Split hbasealltypesagg and hbasealltypessmall and assign their splits
cd $IMPALA_HOME/testdata
mvn clean
# quietly resolve dependencies to avoid log spew in jenkins runs
if [ "${USER}" == "jenkins" ]; then
echo "Quietly resolving testdata dependencies."
mvn -q dependency:resolve
fi
mvn package
mvn -q dependency:copy-dependencies
. ${IMPALA_HOME}/bin/set-classpath.sh
export CLASSPATH=$IMPALA_HOME/testdata/target/impala-testdata-0.1-SNAPSHOT.jar:$CLASSPATH
: ${JAVA_KERBEROS_MAGIC=}
for ATTEMPT in {1..10}; do
if "$JAVA" ${JAVA_KERBEROS_MAGIC} \
com.cloudera.impala.datagenerator.HBaseTestDataRegionAssigment \
functional_hbase.alltypesagg functional_hbase.alltypessmall; then
break
fi
# Hopefully reloading the data will somehow help the splitting succeed.
$IMPALA_HOME/bin/start-impala-cluster.py
$IMPALA_HOME/bin/load-data.py -w functional-query \
--table_names=alltypesagg,alltypessmall --table_formats=hbase/none --force \
${KERB_ARGS} --principal=${MINIKDC_PRINC_HIVE}
$IMPALA_HOME/tests/util/compute_table_stats.py --db_names=functional_hbase \
--table_names=alltypesagg,alltypessmall ${KERB_ARGS}
done