Skip to content

Conversation

@mgummelt
Copy link

What changes were proposed in this pull request?

Links the Spark Mesos Dispatcher UI to the history server UI

  • adds spark.mesos.dispatcher.historyServer.url
  • explicitly generates frameworkIDs for the launched drivers, so the dispatcher knows how to correlate drivers and frameworkIDs

How was this patch tested?

manual testing

@mgummelt
Copy link
Author

cc @skonto. This somewhat relates to your work on https://issues.apache.org/jira/browse/SPARK-13401, but it seems to be disjoint.

@SparkQA
Copy link

SparkQA commented Jul 30, 2016

Test build #63027 has finished for PR 14414 at commit 6e97ec1.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

import org.apache.spark.ui.{UIUtils, WebUIPage}

private[mesos] class MesosClusterPage(parent: MesosClusterUI) extends WebUIPage("") {
private val historyServerURL = parent.conf.getOption("spark.mesos.dispatcher.historyServer.url")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be possible to define a constant for "spark.mesos.dispatcher.historyServer.url" (as is in SQL and YARN modules)? See https://github.com/apache/spark/blob/master/yarn/src/main/scala/org/apache/spark/deploy/yarn/config.scala.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I wasn't aware of that class. We should definitely use it, but I'd like to make that change consistently. I made a JIRA for the migration: https://issues.apache.org/jira/browse/SPARK-16881

@mgummelt
Copy link
Author

mgummelt commented Aug 3, 2016

@jaceklaskowski PTAL

@SparkQA
Copy link

SparkQA commented Aug 3, 2016

Test build #63180 has finished for PR 14414 at commit b36eb1d.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@skonto
Copy link
Contributor

skonto commented Aug 8, 2016

You need to add UI screenshots for the changes at the description.

@skonto
Copy link
Contributor

skonto commented Aug 8, 2016

cc @skonto. This somewhat relates to your work on https://issues.apache.org/jira/browse/SPARK-13401, but it seems to be disjoint.

The link is not correct i guess you meant https://issues.apache.org/jira/browse/SPARK-13041 ;)

* @param taskId Mesos TaskID generated for the task
* @param slaveId Slave ID that the task is assigned to
* @param mesosTaskStatus The last known task status update.
* @param startDate The date the task was launched
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FinishDate is missing.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@skonto
Copy link
Contributor

skonto commented Aug 8, 2016

I will add more comment im trying to test it.

@skonto
Copy link
Contributor

skonto commented Aug 8, 2016

I tested it with our suite. Two comments:
a. Its not convenient to have only one option to add the history server uri. I had to create a properties file to pass it to the dispatcher process. I would expect to pass it with --conf

b. From what I see from here:
history_server
driver_history
dispatcherui
when you have one driver starting and stopping contexts then history link can only point to the very first context. I guess that is a limitation.

@mgummelt
Copy link
Author

mgummelt commented Aug 8, 2016

a. Its not convenient to have only one option to add the history server uri. I had to create a properties file to pass it to the dispatcher process. I would expect to pass it with --conf

I agree, and we should change this at some point, but that's not the goal of this PR.

when you have one driver starting and stopping contexts then history link can only point to the very first context. I guess that is a limitation.

Yea, it's a limitation. The dispatcher knows about drivers, but the history server knows about apps (i.e. contexts), and this relationship is one to many. This is a simple way to connect the two in the common case of 1 driver having 1 context. To solve the 1-to-many case, we'd need some way of the driver communicating back to the dispatcher for every context that it creates. That's a more difficult problem, and I don't think it's worth solving right now.

@SparkQA
Copy link

SparkQA commented Aug 8, 2016

Test build #63382 has finished for PR 14414 at commit 263aaa4.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@skonto
Copy link
Contributor

skonto commented Aug 9, 2016

I agree just to have a reminder for what we can achieve. LGTM other than that.

@mgummelt
Copy link
Author

mgummelt commented Aug 9, 2016

@srowen Can you merge?

@srowen
Copy link
Member

srowen commented Aug 9, 2016

Merged to master

@asfgit asfgit closed this in 62e6212 Aug 9, 2016
@mgummelt mgummelt deleted the history-server branch August 9, 2016 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants