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]