aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorAaron Davidson <aaron@databricks.com>2013-11-28 20:36:18 -0800
committerAaron Davidson <aaron@databricks.com>2013-11-28 20:37:56 -0800
commit37f161cf6b19eb5b70a251340df0caf21afed84a (patch)
tree5b648aaef9cc95d0573a1bb5893ab5ac116c0fea /core
parentcb976dfb50d62b8a686b6249ff3b24c0837bd613 (diff)
downloadspark-37f161cf6b19eb5b70a251340df0caf21afed84a.tar.gz
spark-37f161cf6b19eb5b70a251340df0caf21afed84a.tar.bz2
spark-37f161cf6b19eb5b70a251340df0caf21afed84a.zip
Re-enable zk:// urls for Mesos SparkContexts
This was broken in PR #71 when we explicitly disallow anything that didn't fit a mesos:// url. Although it is not really clear that a zk:// url should match Mesos, it is what the docs say and it is necessary for backwards compatibility.
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/org/apache/spark/SparkContext.scala11
1 files changed, 6 insertions, 5 deletions
diff --git a/core/src/main/scala/org/apache/spark/SparkContext.scala b/core/src/main/scala/org/apache/spark/SparkContext.scala
index 3a80241daa..cf1fd497f0 100644
--- a/core/src/main/scala/org/apache/spark/SparkContext.scala
+++ b/core/src/main/scala/org/apache/spark/SparkContext.scala
@@ -162,8 +162,8 @@ class SparkContext(
val LOCAL_CLUSTER_REGEX = """local-cluster\[\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*]""".r
// Regular expression for connecting to Spark deploy clusters
val SPARK_REGEX = """spark://(.*)""".r
- // Regular expression for connection to Mesos cluster
- val MESOS_REGEX = """mesos://(.*)""".r
+ // Regular expression for connection to Mesos cluster by mesos:// or zk:// url
+ val MESOS_REGEX = """(mesos|zk)://.*""".r
// Regular expression for connection to Simr cluster
val SIMR_REGEX = """simr://(.*)""".r
@@ -251,14 +251,15 @@ class SparkContext(
scheduler.initialize(backend)
scheduler
- case MESOS_REGEX(mesosUrl) =>
+ case mesosUrl @ MESOS_REGEX(_) =>
MesosNativeLibrary.load()
val scheduler = new ClusterScheduler(this)
val coarseGrained = System.getProperty("spark.mesos.coarse", "false").toBoolean
+ val url = mesosUrl.stripPrefix("mesos://") // strip scheme from raw Mesos URLs
val backend = if (coarseGrained) {
- new CoarseMesosSchedulerBackend(scheduler, this, mesosUrl, appName)
+ new CoarseMesosSchedulerBackend(scheduler, this, url, appName)
} else {
- new MesosSchedulerBackend(scheduler, this, mesosUrl, appName)
+ new MesosSchedulerBackend(scheduler, this, url, appName)
}
scheduler.initialize(backend)
scheduler