Uh oh!
There was an error while loading. Please reload this page.
[SPARK-6449][YARN] Report failure status if driver throws exception - #5130
[SPARK-6449][YARN] Report failure status if driver throws exception#5130ryan-williams wants to merge 1 commit into
Conversation
e.g. OutOfMemoryError on the driver was leading to application reporting SUCCESS on history server and to YARN RM.
SparkQA
commented
Mar 23, 2015
Test build #28970 has started for PR 5130 at commit
|
SparkQA
commented
Mar 23, 2015
Test build #28970 has finished for PR 5130 at commit
|
AmplabJenkins
commented
Mar 23, 2015
Test PASSed. |
rxin
commented
Mar 23, 2015
@tgravescs - can you take a look? |
rxin
commented
Mar 23, 2015
@ryan-williams - can you add the jira ticket to the title, and add "YARN", e.g. "[SPARK-1234][YARN]"? Thanks. |
ryan-williams
commented
Mar 23, 2015
oh yea, sry I forgot to do that @rxin |
zsxwing
commented
Mar 23, 2015
If the driver throws an exception, the exception will be the cause of |
sryza
commented
Mar 23, 2015
As @zsxwing says, it appears that the code is already trying to handle this case. Do Also, how were we ending up with a success before? If anything forced us to break out of that try block, it seems like we wouldn't call Last, what if we run into an |
zsxwing
commented
Mar 23, 2015
It will wrap Error, too. Run the following codes in my machine, classFoo {}
objectFoo {
defmain(args: Array[String]):Unit= {
vala=ArrayBuffer[String]()
while(true) {
a +="111111111111111111111111111111"
}
}
}
objectBar {
defmain(args: Array[String]):Unit= {
valmainMethod=classOf[Foo].getMethod("main", classOf[Array[String]])
mainMethod.invoke(null, null)
}
}and it outputs, |
zsxwing
commented
Mar 23, 2015
This has been fixed in #4773 |
zsxwing
commented
Mar 23, 2015
After #4773, it should not end up with a success for OutOfMemoryError. However, in my experience, if |
zsxwing
commented
Mar 23, 2015
Since AM does not set |
tgravescs
commented
Mar 23, 2015
@ryan-williams Are you seeing this exception with spark 1.3 then or with older version? (ie pr4773 didn't fix this particular issue) |
tgravescs
commented
Mar 23, 2015
@zsxwing Can you clarify this? Are you running something that never starts SparkContext? I'm not sure what you mean by the user doesn't create spark context but the driver exits normally. |
zsxwing
commented
Mar 23, 2015
E.g., my application may check some folders at first. If they exist, it will create |
tgravescs
commented
Mar 23, 2015
That case is basically not handled right now. We expect one of the first things is to create the SparkContext which is why the AM waits for the spark context to be initialized. Anything you do in your program before doing that initialization is relying on the fact that we wait a certain period for it to be initialized and if you never create it, we consider that as failure. Seems like more of a think a workflow manager should be doing but if you want to handle that case I suggest filing a separate jira. |
zsxwing
commented
Mar 23, 2015
@tgravescs Thanks for the clarification |
e.g. OutOfMemoryError on the driver was leading to application
reporting SUCCESS on history server and to YARN RM.