Example #1
0
        public static TaskCompletionEvent.Status FromYarn(TaskAttemptCompletionEventStatus
                                                          newStatus)
        {
            switch (newStatus)
            {
            case TaskAttemptCompletionEventStatus.Failed:
            {
                return(TaskCompletionEvent.Status.Failed);
            }

            case TaskAttemptCompletionEventStatus.Killed:
            {
                return(TaskCompletionEvent.Status.Killed);
            }

            case TaskAttemptCompletionEventStatus.Obsolete:
            {
                return(TaskCompletionEvent.Status.Obsolete);
            }

            case TaskAttemptCompletionEventStatus.Succeeded:
            {
                return(TaskCompletionEvent.Status.Succeeded);
            }

            case TaskAttemptCompletionEventStatus.Tipfailed:
            {
                return(TaskCompletionEvent.Status.Tipfailed);
            }
            }
            throw new YarnRuntimeException("Unrecognized status: " + newStatus);
        }
Example #2
0
        private void ConstructTaskAttemptCompletionEvents()
        {
            LoadAllTasks();
            completionEvents = new List <TaskAttemptCompletionEvent>();
            IList <TaskAttempt> allTaskAttempts = new List <TaskAttempt>();
            int numMapAttempts = 0;

            foreach (KeyValuePair <TaskId, Task> taskEntry in tasks)
            {
                Task task = taskEntry.Value;
                foreach (KeyValuePair <TaskAttemptId, TaskAttempt> taskAttemptEntry in task.GetAttempts
                             ())
                {
                    TaskAttempt taskAttempt = taskAttemptEntry.Value;
                    allTaskAttempts.AddItem(taskAttempt);
                    if (task.GetType() == TaskType.Map)
                    {
                        ++numMapAttempts;
                    }
                }
            }
            allTaskAttempts.Sort(new _IComparer_237());
            mapCompletionEvents = new AList <TaskAttemptCompletionEvent>(numMapAttempts);
            int eventId = 0;

            foreach (TaskAttempt taskAttempt_1 in allTaskAttempts)
            {
                TaskAttemptCompletionEvent tace = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord <TaskAttemptCompletionEvent
                                                                                                 >();
                int attemptRunTime = -1;
                if (taskAttempt_1.GetLaunchTime() != 0 && taskAttempt_1.GetFinishTime() != 0)
                {
                    attemptRunTime = (int)(taskAttempt_1.GetFinishTime() - taskAttempt_1.GetLaunchTime
                                               ());
                }
                // Default to KILLED
                TaskAttemptCompletionEventStatus taceStatus = TaskAttemptCompletionEventStatus.Killed;
                string taStateString = taskAttempt_1.GetState().ToString();
                try
                {
                    taceStatus = TaskAttemptCompletionEventStatus.ValueOf(taStateString);
                }
                catch (Exception)
                {
                    Log.Warn("Cannot constuct TACEStatus from TaskAtemptState: [" + taStateString + "] for taskAttemptId: ["
                             + taskAttempt_1.GetID() + "]. Defaulting to KILLED");
                }
                tace.SetAttemptId(taskAttempt_1.GetID());
                tace.SetAttemptRunTime(attemptRunTime);
                tace.SetEventId(eventId++);
                tace.SetMapOutputServerAddress(taskAttempt_1.GetAssignedContainerMgrAddress());
                tace.SetStatus(taceStatus);
                completionEvents.AddItem(tace);
                if (taskAttempt_1.GetID().GetTaskId().GetTaskType() == TaskType.Map)
                {
                    mapCompletionEvents.AddItem(tace);
                }
            }
        }
Example #3
0
 public virtual void SetStatus(TaskAttemptCompletionEventStatus status)
 {
     MaybeInitBuilder();
     if (status == null)
     {
         builder.ClearStatus();
         return;
     }
     builder.SetStatus(ConvertToProtoFormat(status));
 }
        private static TaskAttemptCompletionEvent CreateTce(int eventId, bool isMap, TaskAttemptCompletionEventStatus
                                                            status)
        {
            JobId  jid = MRBuilderUtils.NewJobId(12345, 1, 1);
            TaskId tid = MRBuilderUtils.NewTaskId(jid, 0, isMap ? TaskType.Map : TaskType.Reduce
                                                  );
            TaskAttemptId attemptId        = MRBuilderUtils.NewTaskAttemptId(tid, 0);
            RecordFactory recordFactory    = RecordFactoryProvider.GetRecordFactory(null);
            TaskAttemptCompletionEvent tce = recordFactory.NewRecordInstance <TaskAttemptCompletionEvent
                                                                              >();

            tce.SetEventId(eventId);
            tce.SetAttemptId(attemptId);
            tce.SetStatus(status);
            return(tce);
        }
Example #5
0
 public static TaskAttemptCompletionEventStatus ConvertFromProtoFormat(MRProtos.TaskAttemptCompletionEventStatusProto
                                                                       e)
 {
     return(TaskAttemptCompletionEventStatus.ValueOf(e.ToString().Replace(TacePrefix,
                                                                          string.Empty)));
 }
Example #6
0
 /*
  * TaskAttemptCompletionEventStatus
  */
 public static MRProtos.TaskAttemptCompletionEventStatusProto ConvertToProtoFormat
     (TaskAttemptCompletionEventStatus e)
 {
     return(MRProtos.TaskAttemptCompletionEventStatusProto.ValueOf(TacePrefix + e.ToString
                                                                       ()));
 }
Example #7
0
 private MRProtos.TaskAttemptCompletionEventStatusProto ConvertToProtoFormat(TaskAttemptCompletionEventStatus
                                                                             e)
 {
     return(MRProtoUtils.ConvertToProtoFormat(e));
 }