Skip to content

Conversation

@vanzin
Copy link
Contributor

@vanzin vanzin commented Jun 21, 2017

Currently the code monitoring the launch of the client AM uses the value of
spark.yarn.report.interval as the interval for polling the RM; if someone
has that value to a really large interval, it would take that long to detect
that the client AM has started, which is not expected.

Instead, have a separate config for the interval to use when the client AM is
starting. The other config is still used in cluster mode, and to detect the
status of the client AM after it is already running.

Tested by running client and cluster mode apps with a modified value of
spark.yarn.report.interval, verifying client AM launch is detected before
that interval elapses.

…t AM.

Currently the code monitoring the launch of the client AM uses the value of
spark.yarn.report.interval as the interval for polling the RM; if someone
has that value to a really large interval, it would take that long to detect
that the client AM has started, which is not expected.

Instead, have a separate config for the interval to use when the client AM is
starting. The other config is still used in cluster mode, and to detect the
status of the client AM after it is already running.

Tested by running client and cluster mode apps with a modified value of
spark.yarn.report.interval, verifying client AM launch is detected before
that interval elapses.
@SparkQA
Copy link

SparkQA commented Jun 21, 2017

Test build #78406 has finished for PR 18380 at commit a117dd3.

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

@vanzin
Copy link
Contributor Author

vanzin commented Jul 10, 2017

@tgravescs

Copy link
Contributor

@tgravescs tgravescs left a comment

Choose a reason for hiding this comment

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

minor doc update, otherwise +1

logApplicationReport: Boolean = true): (YarnApplicationState, FinalApplicationStatus) = {
val interval = sparkConf.get(REPORT_INTERVAL)
logApplicationReport: Boolean = true,
interval: Long = sparkConf.get(REPORT_INTERVAL)):
Copy link
Contributor

Choose a reason for hiding this comment

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

add new param to method description

@SparkQA
Copy link

SparkQA commented Jul 10, 2017

Test build #79475 has finished for PR 18380 at commit 47ec7ea.

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

.createWithDefaultString("1s")

private[spark] val CLIENT_LAUNCH_MONITOR_INTERVAL =
ConfigBuilder("spark.yarn.am.launchMonitorInterval")
Copy link
Contributor

Choose a reason for hiding this comment

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

sorry missed this in my first pass. One thing here is that normally the spark.yarn.am. configs are configs that apply to the am, this one is slightly different in that its how often the client pulls the am for status (applies more to the client). We aren't documenting it anyway but perhaps we should name something like spark.yarn.clientAMLaunchMonitorInterval?

@SparkQA
Copy link

SparkQA commented Jul 10, 2017

Test build #79478 has finished for PR 18380 at commit 4075b44.

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

@tgravescs
Copy link
Contributor

+1, feel free to commit

@vanzin
Copy link
Contributor Author

vanzin commented Jul 11, 2017

Merging to master.

@asfgit asfgit closed this in 1cad31f Jul 11, 2017
@vanzin vanzin deleted the SPARK-16019 branch July 11, 2017 18:30
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.

3 participants