Search in sources :

Example 41 with Task

use of org.apache.tez.dag.app.dag.Task in project tez by apache.

the class StartEndTimesBase method updateAttempt.

@Override
public void updateAttempt(TezTaskAttemptID attemptID, TaskAttemptState state, long timestamp) {
    Task task = vertex.getTask(attemptID.getTaskID());
    if (task == null) {
        return;
    }
    Long boxedStart = startTimes.get(attemptID);
    long start = boxedStart == null ? Long.MIN_VALUE : boxedStart;
    TaskAttempt taskAttempt = task.getAttempt(attemptID);
    if (taskAttempt.getState() == TaskAttemptState.SUCCEEDED) {
        boolean isNew = false;
        // is this  a new success?
        synchronized (doneTasks) {
            if (!doneTasks.contains(task)) {
                doneTasks.add(task);
                isNew = true;
            }
        }
        // local data] we only count the first one.
        if (isNew) {
            long finish = timestamp;
            if (start > 1L && finish > 1L && start <= finish) {
                long duration = finish - start;
                taskStatistics.add(duration);
            }
        }
    }
}
Also used : Task(org.apache.tez.dag.app.dag.Task) TaskAttempt(org.apache.tez.dag.app.dag.TaskAttempt)

Aggregations

Task (org.apache.tez.dag.app.dag.Task)41 TezTaskID (org.apache.tez.dag.records.TezTaskID)15 Test (org.junit.Test)14 TaskEventScheduleTask (org.apache.tez.dag.app.dag.event.TaskEventScheduleTask)11 TezEvent (org.apache.tez.runtime.api.impl.TezEvent)11 StateChangeNotifierForTest (org.apache.tez.dag.app.dag.TestStateChangeNotifier.StateChangeNotifierForTest)9 TezTaskAttemptID (org.apache.tez.dag.records.TezTaskAttemptID)8 TaskAttempt (org.apache.tez.dag.app.dag.TaskAttempt)7 Vertex (org.apache.tez.dag.app.dag.Vertex)7 VertexEventRouteEvent (org.apache.tez.dag.app.dag.event.VertexEventRouteEvent)7 EventMetaData (org.apache.tez.runtime.api.impl.EventMetaData)7 Map (java.util.Map)6 TaskLocationHint (org.apache.tez.dag.api.TaskLocationHint)6 ByteString (com.google.protobuf.ByteString)5 TezUncheckedException (org.apache.tez.dag.api.TezUncheckedException)5 VertexLocationHint (org.apache.tez.dag.api.VertexLocationHint)5 TezVertexID (org.apache.tez.dag.records.TezVertexID)5 DataMovementEvent (org.apache.tez.runtime.api.events.DataMovementEvent)5 EdgeManagerForTest (org.apache.tez.test.EdgeManagerForTest)5 HashMap (java.util.HashMap)4