You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tez.apache.org by "Siddharth Seth (JIRA)" <ji...@apache.org> on 2017/05/09 20:19:04 UTC

[jira] [Created] (TEZ-3718) Better handling of 'bad' nodes

Siddharth Seth created TEZ-3718:
-----------------------------------

             Summary: Better handling of 'bad' nodes
                 Key: TEZ-3718
                 URL: https://issues.apache.org/jira/browse/TEZ-3718
             Project: Apache Tez
          Issue Type: Improvement
            Reporter: Siddharth Seth


At the moment, the default behaviour in case of a node being marked bad is to do nothing other than not schedule new tasks on this node.
The alternate, via config, is to retroactively kill every task which ran on the node, which causes far too many unnecessary re-runs.

Proposing the following changes.
1. KILL fragments which are currently in the RUNNING state (instead of relying on a timeout which leads to the attempt being marked as FAILED after the timeout interval.
2. Keep track of these failed nodes, and use this as input to the failure heuristics. Normally source tasks require multiple consumers to report failure for them to be marked as bad. If a single consumer reports failure against a source which ran on a bad node, consider it bad and re-schedule immediately. (Otherwise failures can take a while to propagate, and jobs get a lot slower).

[~jlowe] - think you've looked at this in the past. Any thoughts/suggestions.
What I'm seeing is retroactive failures taking a long time to apply, and restart sources which ran on a bad node. Also running tasks being counted as FAILURES instead of KILLS.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)