diff options
author | Matei Zaharia <matei@eecs.berkeley.edu> | 2013-07-16 11:01:53 -0700 |
---|---|---|
committer | Matei Zaharia <matei@eecs.berkeley.edu> | 2013-07-16 11:01:53 -0700 |
commit | b1f9f64743400651cd74fe5f7f04f5891ba6d1c5 (patch) | |
tree | c2be984d426f0d820915bb2ab8cca7fe06fc73df /core/src/main | |
parent | 5c388808a81ebfb1fc23511882c18f9ae76ec509 (diff) | |
parent | 8a8a8f2de225310410ebe4e5d9c1e9b1ee8ffcf2 (diff) | |
download | spark-b1f9f64743400651cd74fe5f7f04f5891ba6d1c5.tar.gz spark-b1f9f64743400651cd74fe5f7f04f5891ba6d1c5.tar.bz2 spark-b1f9f64743400651cd74fe5f7f04f5891ba6d1c5.zip |
Merge branch 'master' of github.com:mesos/spark
Diffstat (limited to 'core/src/main')
4 files changed, 17 insertions, 2 deletions
diff --git a/core/src/main/scala/spark/KryoSerializer.scala b/core/src/main/scala/spark/KryoSerializer.scala index d723ab7b1e..c7dbcc6fbc 100644 --- a/core/src/main/scala/spark/KryoSerializer.scala +++ b/core/src/main/scala/spark/KryoSerializer.scala @@ -210,6 +210,10 @@ class KryoSerializer extends spark.serializer.Serializer with Logging { val reg = Class.forName(regCls, true, classLoader).newInstance().asInstanceOf[KryoRegistrator] reg.registerClasses(kryo) } + + // Allow disabling Kryo reference tracking if user knows their object graphs don't have loops + kryo.setReferences(System.getProperty("spark.kryo.referenceTracking", "true").toBoolean) + kryo } diff --git a/core/src/main/scala/spark/deploy/master/ui/IndexPage.scala b/core/src/main/scala/spark/deploy/master/ui/IndexPage.scala index 7545ecf868..5e3c5e064f 100644 --- a/core/src/main/scala/spark/deploy/master/ui/IndexPage.scala +++ b/core/src/main/scala/spark/deploy/master/ui/IndexPage.scala @@ -103,7 +103,9 @@ private[spark] class IndexPage(parent: MasterWebUI) { <td> <a href={"app?appId=" + app.id}>{app.id}</a> </td> - <td>{app.desc.name}</td> + <td> + <a href={app.appUiUrl}>{app.desc.name}</a> + </td> <td> {app.coresGranted} </td> diff --git a/core/src/main/scala/spark/scheduler/DAGScheduler.scala b/core/src/main/scala/spark/scheduler/DAGScheduler.scala index 30a648f50b..64ed91f5a0 100644 --- a/core/src/main/scala/spark/scheduler/DAGScheduler.scala +++ b/core/src/main/scala/spark/scheduler/DAGScheduler.scala @@ -257,6 +257,15 @@ class DAGScheduler( if (partitions.size == 0) { return } + + // Check to make sure we are not launching a task on a partition that does not exist. + val maxPartitions = finalRdd.partitions.length + partitions.find(p => p >= maxPartitions).foreach { p => + throw new IllegalArgumentException( + "Attempting to access a non-existent partition: " + p + ". " + + "Total number of partitions: " + maxPartitions) + } + val (toSubmit, waiter) = prepareJob( finalRdd, func, partitions, callSite, allowLocal, resultHandler, properties) eventQueue.put(toSubmit) diff --git a/core/src/main/scala/spark/ui/UIUtils.scala b/core/src/main/scala/spark/ui/UIUtils.scala index 36d9c47245..fa46e2487d 100644 --- a/core/src/main/scala/spark/ui/UIUtils.scala +++ b/core/src/main/scala/spark/ui/UIUtils.scala @@ -31,7 +31,7 @@ private[spark] object UIUtils { <link rel="stylesheet" href="/static/webui.css" type="text/css" /> <link rel="stylesheet" href="/static/bootstrap-responsive.min.css" type="text/css" /> <script src="/static/sorttable.js"></script> - <title>{title}</title> + <title>{sc.appName} - {title}</title> <style type="text/css"> table.sortable thead {{ cursor: pointer; }} </style> |