Uh oh!
There was an error while loading. Please reload this page.
[SPARK-1667] Jobs never finish successfully once bucket file missing occurred - #1383
[SPARK-1667] Jobs never finish successfully once bucket file missing occurred#1383sarutak wants to merge 2 commits into
Conversation
AmplabJenkins
commented
Jul 12, 2014
Can one of the admins verify this patch? |
There was a problem hiding this comment.
Can you add some inline comment explaining why we are catching this IOException here?
rxin
commented
Jul 15, 2014
Thanks for submitting this. Is there any way we can construct a unit test for this as well? |
sarutak
commented
Jul 15, 2014
OK. I will add a comment for my change. |
rxin
commented
Jul 15, 2014
That's a good place to add it. Thanks! |
sarutak
commented
Jul 17, 2014
My PR handles IOException as fatal but I think it's not good because IOException is not always fatal. |
sarutak
commented
Jul 17, 2014
@rxin, I noticed some issues related to this issue. Should we exit executor at the situation? |
rxin
commented
Jul 29, 2014
Sorry to come back to this after a while. Disk faults can be transient as well right? I'm not sure if we'd want to exit the executor simply because of one disk fault. |
sarutak
commented
Jul 29, 2014
rxin
commented
Jul 29, 2014
Thanks - do you mind closing this one? |
sarutak
commented
Jul 29, 2014
OK. Instead, please watch this PR #1578 . |
If jobs execute shuffle, bucket files are created in a temporary directory (named like spark-local-*).
When the bucket files are missing cased by disk failure or any reasons, jobs cannot execute shuffle which has same shuffle id for the bucket files.
I think when Executors cannot read bucket files from their local directory (spark-local-*), they should abort and marked as lost.
In this case, Executor which has bucket files throw FileNotFoundException, so I think, we should handle IOException as fatal in Utils.scala to abort.
After I modified the code as follows, an Executor which fetches bucket files from failed Executor could retry to fetch from another Executor.