aboutsummaryrefslogtreecommitdiff
path: root/dev/run-tests
diff options
context:
space:
mode:
authorCheng Lian <lian@databricks.com>2014-12-23 12:54:20 -0800
committerJosh Rosen <joshrosen@databricks.com>2014-12-23 12:54:20 -0800
commit395b771feed3fc90e5053defbe86dbd673fde582 (patch)
treeb61d6b5d1953997902c5a8b6f44d0fbbfb091832 /dev/run-tests
parent9c251c555f5ee527143d0cdb9e6c3cb7530fc8f8 (diff)
downloadspark-395b771feed3fc90e5053defbe86dbd673fde582.tar.gz
spark-395b771feed3fc90e5053defbe86dbd673fde582.tar.bz2
spark-395b771feed3fc90e5053defbe86dbd673fde582.zip
[SPARK-4914][Build] Cleans lib_managed before compiling with Hive 0.13.1
This PR tries to fix the Hive tests failure encountered in PR #3157 by cleaning `lib_managed` before building assembly jar against Hive 0.13.1 in `dev/run-tests`. Otherwise two sets of datanucleus jars would be left in `lib_managed` and may mess up class paths while executing Hive test suites. Please refer to [this thread] [1] for details. A clean build would be even safer, but we only clean `lib_managed` here to save build time. This PR also takes the chance to clean up some minor typos and formatting issues in the comments. [1]: https://github.com/apache/spark/pull/3157#issuecomment-67656488 <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/apache/spark/3756) <!-- Reviewable:end --> Author: Cheng Lian <lian@databricks.com> Closes #3756 from liancheng/clean-lib-managed and squashes the following commits: e2bd21d [Cheng Lian] Adds lib_managed to clean set c9f2f3e [Cheng Lian] Cleans lib_managed before compiling with Hive 0.13.1
Diffstat (limited to 'dev/run-tests')
-rwxr-xr-xdev/run-tests26
1 files changed, 14 insertions, 12 deletions
diff --git a/dev/run-tests b/dev/run-tests
index 328a73bd8b..9192cb7e16 100755
--- a/dev/run-tests
+++ b/dev/run-tests
@@ -141,20 +141,22 @@ CURRENT_BLOCK=$BLOCK_BUILD
{
# NOTE: echo "q" is needed because sbt on encountering a build file with failure
- #+ (either resolution or compilation) prompts the user for input either q, r, etc
- #+ to quit or retry. This echo is there to make it not block.
+ # (either resolution or compilation) prompts the user for input either q, r, etc
+ # to quit or retry. This echo is there to make it not block.
# NOTE: Do not quote $BUILD_MVN_PROFILE_ARGS or else it will be interpreted as a
- #+ single argument!
+ # single argument!
# QUESTION: Why doesn't 'yes "q"' work?
# QUESTION: Why doesn't 'grep -v -e "^\[info\] Resolving"' work?
- # First build with 0.12 to ensure patches do not break the hive 12 build
+ # First build with Hive 0.12.0 to ensure patches do not break the Hive 0.12.0 build
HIVE_12_BUILD_ARGS="$SBT_MAVEN_PROFILES_ARGS -Phive -Phive-thriftserver -Phive-0.12.0"
- echo "[info] Compile with hive 0.12"
+ echo "[info] Compile with Hive 0.12.0"
echo -e "q\n" \
| sbt/sbt $HIVE_12_BUILD_ARGS clean hive/compile hive-thriftserver/compile \
| grep -v -e "info.*Resolving" -e "warn.*Merging" -e "info.*Including"
- # Then build with default version(0.13.1) because tests are based on this version
+ # Then build with default Hive version (0.13.1) because tests are based on this version
+ echo "[info] Compile with Hive 0.13.1"
+ rm -rf lib_managed
echo "[info] Building Spark with these arguments: $SBT_MAVEN_PROFILES_ARGS"\
" -Phive -Phive-thriftserver"
echo -e "q\n" \
@@ -178,7 +180,7 @@ CURRENT_BLOCK=$BLOCK_SPARK_UNIT_TESTS
if [ -n "$_SQL_TESTS_ONLY" ]; then
# This must be an array of individual arguments. Otherwise, having one long string
- #+ will be interpreted as a single test, which doesn't work.
+ # will be interpreted as a single test, which doesn't work.
SBT_MAVEN_TEST_ARGS=("catalyst/test" "sql/test" "hive/test" "mllib/test")
else
SBT_MAVEN_TEST_ARGS=("test")
@@ -187,11 +189,11 @@ CURRENT_BLOCK=$BLOCK_SPARK_UNIT_TESTS
echo "[info] Running Spark tests with these arguments: $SBT_MAVEN_PROFILES_ARGS ${SBT_MAVEN_TEST_ARGS[@]}"
# NOTE: echo "q" is needed because sbt on encountering a build file with failure
- #+ (either resolution or compilation) prompts the user for input either q, r, etc
- #+ to quit or retry. This echo is there to make it not block.
+ # (either resolution or compilation) prompts the user for input either q, r, etc
+ # to quit or retry. This echo is there to make it not block.
# NOTE: Do not quote $SBT_MAVEN_PROFILES_ARGS or else it will be interpreted as a
- #+ single argument!
- #+ "${SBT_MAVEN_TEST_ARGS[@]}" is cool because it's an array.
+ # single argument!
+ # "${SBT_MAVEN_TEST_ARGS[@]}" is cool because it's an array.
# QUESTION: Why doesn't 'yes "q"' work?
# QUESTION: Why doesn't 'grep -v -e "^\[info\] Resolving"' work?
echo -e "q\n" \
@@ -210,7 +212,7 @@ CURRENT_BLOCK=$BLOCK_PYSPARK_UNIT_TESTS
echo ""
echo "========================================================================="
-echo "Detecting binary incompatibilites with MiMa"
+echo "Detecting binary incompatibilities with MiMa"
echo "========================================================================="
CURRENT_BLOCK=$BLOCK_MIMA