Ganesha S created SPARK-59131:
---------------------------------

             Summary: Add a fetch-failure threshold before marking an executor 
failed
                 Key: SPARK-59131
                 URL: https://issues.apache.org/jira/browse/SPARK-59131
             Project: Spark
          Issue Type: Improvement
          Components: Spark Core
    Affects Versions: 4.3.0
            Reporter: Ganesha S


Currently, a single fetch failure makes `DAGScheduler` immediately mark the 
source executor as failed and unregister all of its shuffle outputs, forcing 
them to be recomputed. A transient blip (brief network hiccup, GC pause) on an 
otherwise healthy executor therefore throws away all its work. This is the 
long-standing TODO:
{code:java}
// TODO: mark the executor as failed only if there were lots of fetch failures 
on it{code}
Add a configurable threshold on the number of distinct fetch-failure waves an 
executor may cause before it is marked failed. The block whose fetch failed is 
still always recomputed; only the aggressive removal of the executor and its 
remaining outputs is gated. Failures are deduplicated by `task.epoch` so a 
wave's concurrent failures count once, and removal stays immediate when the 
host is decommissioned.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to