-
Notifications
You must be signed in to change notification settings - Fork 28.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SPARK-16019][yarn] Use separate RM poll interval when starting client AM. #18380
Conversation
…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.
Test build #78406 has finished for PR 18380 at commit
|
There was a problem hiding this 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)): |
There was a problem hiding this comment.
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
Test build #79475 has finished for PR 18380 at commit
|
.timeConf(TimeUnit.MILLISECONDS) | ||
.createWithDefaultString("1s") | ||
|
||
private[spark] val CLIENT_LAUNCH_MONITOR_INTERVAL = | ||
ConfigBuilder("spark.yarn.am.launchMonitorInterval") |
There was a problem hiding this comment.
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?
Test build #79478 has finished for PR 18380 at commit
|
+1, feel free to commit |
Merging to master. |
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.