[
https://issues.apache.org/jira/browse/SPARK-19264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15827201#comment-15827201
]
hustfxj edited comment on SPARK-19264 at 1/18/17 1:39 AM:
----------------------------------------------------------
So I must change the last code like that
{code}
try {
ssc.awaitTermination()
} finally {
System.exit(-1);
}
{code}
I think the user shouldn't care this issue.Since the spark provide the
awaitTermination(), thus we should make the driver quit the main thread done
whether the driver still contains the unfinished non-daemon theads or not.
was (Author: hustfxj):
So I must change the last code like that
{code}
try {
ssc.awaitTermination()
} finally {
System.exit(-1);
}
{code}
> Work should start driver, the same to AM of yarn
> ---------------------------------------------------
>
> Key: SPARK-19264
> URL: https://issues.apache.org/jira/browse/SPARK-19264
> Project: Spark
> Issue Type: Improvement
> Reporter: hustfxj
>
> I think work can't start driver by "ProcessBuilderLike", thus we can't
> know the application's main thread is finished or not if the application's
> main thread contains some non-daemon threads. Because the program terminates
> when there no longer is any non-daemon thread running (or someone called
> System.exit). The main thread can have finished long ago.
> worker should start driver like AM of YARN . As followed:
> {code:title=ApplicationMaster.scala|borderStyle=solid}
> mainMethod.invoke(null, userArgs.toArray)
> finish(FinalApplicationStatus.SUCCEEDED, ApplicationMaster.EXIT_SUCCESS)
> logDebug("Done running users class")
> {code}
> Then the work can monitor the driver's main thread, and know the
> application's state.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]