diff options
author | Jacek Lewandowski <lewandowski.jacek@gmail.com> | 2015-02-07 15:58:04 +0000 |
---|---|---|
committer | Sean Owen <sowen@cloudera.com> | 2015-02-07 15:58:04 +0000 |
commit | dd4cb33a271b893adebd5ec46dd349b16b591edc (patch) | |
tree | 0c998eeeab83c013c02aea3ba5bf680d7dbdf8a5 | |
parent | e9a4fe12d3dc4afeb715c7649df2c5527a2d5d35 (diff) | |
download | spark-dd4cb33a271b893adebd5ec46dd349b16b591edc.tar.gz spark-dd4cb33a271b893adebd5ec46dd349b16b591edc.tar.bz2 spark-dd4cb33a271b893adebd5ec46dd349b16b591edc.zip |
SPARK-5408: Use -XX:MaxPermSize specified by user instead of default in ...
...ExecutorRunner and DriverRunner
Author: Jacek Lewandowski <lewandowski.jacek@gmail.com>
Closes #4203 from jacek-lewandowski/SPARK-5408-1.3 and squashes the following commits:
d913686 [Jacek Lewandowski] SPARK-5408: Use -XX:MaxPermSize specified by used instead of default in ExecutorRunner and DriverRunner
-rw-r--r-- | core/src/main/scala/org/apache/spark/deploy/worker/CommandUtils.scala | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/core/src/main/scala/org/apache/spark/deploy/worker/CommandUtils.scala b/core/src/main/scala/org/apache/spark/deploy/worker/CommandUtils.scala index 28e9662db5..3e013c3209 100644 --- a/core/src/main/scala/org/apache/spark/deploy/worker/CommandUtils.scala +++ b/core/src/main/scala/org/apache/spark/deploy/worker/CommandUtils.scala @@ -115,9 +115,19 @@ object CommandUtils extends Logging { val userClassPath = command.classPathEntries ++ Seq(classPath) val javaVersion = System.getProperty("java.version") - val permGenOpt = if (!javaVersion.startsWith("1.8")) Some("-XX:MaxPermSize=128m") else None + + val javaOpts = workerLocalOpts ++ command.javaOpts + + val permGenOpt = + if (!javaVersion.startsWith("1.8") && !javaOpts.exists(_.startsWith("-XX:MaxPermSize="))) { + // do not specify -XX:MaxPermSize if it was already specified by user + Some("-XX:MaxPermSize=128m") + } else { + None + } + Seq("-cp", userClassPath.filterNot(_.isEmpty).mkString(File.pathSeparator)) ++ - permGenOpt ++ workerLocalOpts ++ command.javaOpts ++ memoryOpts + permGenOpt ++ javaOpts ++ memoryOpts } /** Spawn a thread that will redirect a given stream to a file */ |