Protect from null env variables in mesos.

This commit is contained in:
Denny 2012-10-13 13:57:59 -07:00
parent 21047d923e
commit 0700d1920a
2 changed files with 16 additions and 8 deletions

View file

@ -114,11 +114,15 @@ private[spark] class CoarseMesosSchedulerBackend(
val command = "\"%s\" spark.executor.StandaloneExecutorBackend %s %s %s %d".format(
runScript, masterUrl, offer.getSlaveId.getValue, offer.getHostname, numCores)
val environment = Environment.newBuilder()
sc.executorEnvs.foreach { case(k,v) =>
environment.addVariables(Environment.Variable.newBuilder()
.setName(k)
.setValue(v)
sc.executorEnvs.foreach { case(key, value) =>
if (value == null) {
logInfo("Environment variable not set: " + key)
} else {
environment.addVariables(Environment.Variable.newBuilder()
.setName(key)
.setValue(value)
.build())
}
}
return CommandInfo.newBuilder().setValue(command).setEnvironment(environment).build()
}

View file

@ -85,11 +85,15 @@ private[spark] class MesosSchedulerBackend(
}
val execScript = new File(sparkHome, "spark-executor").getCanonicalPath
val environment = Environment.newBuilder()
sc.executorEnvs.foreach { case(k,v) =>
environment.addVariables(Environment.Variable.newBuilder()
.setName(k)
.setValue(v)
sc.executorEnvs.foreach { case(key, value) =>
if (value == null) {
logInfo("Environment variable not set: " + key)
} else {
environment.addVariables(Environment.Variable.newBuilder()
.setName(key)
.setValue(value)
.build())
}
}
val memory = Resource.newBuilder()
.setName("mem")