Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Commit

Permalink
Fix INSTANCE errors by stabilizing the sort order of "lib/spark/*" …
Browse files Browse the repository at this point in the history
…JARs in classpath
  • Loading branch information
mars committed May 23, 2017
1 parent d86ef0d commit 052f5d8
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
10 changes: 8 additions & 2 deletions bin/compute-classpath.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,20 @@ else
JAR_CMD="jar"
fi

lib_spark_classpath=''
# Use pio-assembly JAR from either RELEASE or assembly directory
if [ -f "${FWDIR}/RELEASE" ]; then
assembly_folder="${FWDIR}"/lib
CLASSPATH="$CLASSPATH:${FWDIR}/lib/spark/*"
lib_spark_jars=`ls "${FWDIR}"/lib/spark/*.jar`
else
assembly_folder="${ASSEMBLY_DIR}"
CLASSPATH="$CLASSPATH:${FWDIR}/assembly/src/universal/lib/spark/*"
lib_spark_jars=`ls "${FWDIR}"/assembly/src/universal/lib/spark/*.jar`
fi
# stabile classpath for Spark JARs
for J in $lib_spark_jars; do
lib_spark_classpath="${lib_spark_classpath}:${J}"
done
CLASSPATH="${CLASSPATH}${lib_spark_classpath}"

ASSEMBLY_JAR=$(ls "${assembly_folder}"/pio-assembly*.jar 2>/dev/null)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,9 @@ object Common extends EitherLogging {
}

def jarFilesForSpark(pioHome: String): Array[File] = {
def jarFilesAt(path: File): Array[File] = path.listFiles filter {
_.getName.toLowerCase.endsWith(".jar")
}
def jarFilesAt(path: File): Array[File] = path.listFiles
.filter { _.getName.toLowerCase.endsWith(".jar") }
.sortBy( f => f.getName ) // stable sorting to avoid classpath variability
jarFilesAt(new File(pioHome, "lib/spark"))
}

Expand Down

0 comments on commit 052f5d8

Please sign in to comment.