Example #1
0
 protected override void Dispatch(Org.Apache.Hadoop.Yarn.Event.Event @event)
 {
     if (@event is TaskAttemptEvent)
     {
         TaskAttemptEvent killEvent = (TaskAttemptEvent)@event;
         if (killEvent.GetType() == TaskAttemptEventType.TaKill)
         {
             TaskAttemptId taID = killEvent.GetTaskAttemptID();
             if (taID.GetTaskId().GetTaskType() == TaskType.Reduce && taID.GetTaskId().GetId()
                 == 0 && taID.GetId() == 0)
             {
                 base.Dispatch(new TaskAttemptEvent(taID, TaskAttemptEventType.TaDone));
                 base.Dispatch(new TaskAttemptEvent(taID, TaskAttemptEventType.TaContainerCleaned)
                               );
                 base.Dispatch(new TaskTAttemptEvent(taID, TaskEventType.TAttemptSucceeded));
                 this.cachedKillEvent = killEvent;
                 return;
             }
         }
     }
     else
     {
         if (@event is TaskEvent)
         {
             TaskEvent taskEvent = (TaskEvent)@event;
             if (taskEvent.GetType() == TaskEventType.TAttemptSucceeded && this.cachedKillEvent
                 != null)
             {
                 base.Dispatch(this.cachedKillEvent);
                 return;
             }
         }
     }
     base.Dispatch(@event);
 }
Example #2
0
 protected override void Dispatch(Org.Apache.Hadoop.Yarn.Event.Event @event)
 {
     if (@event is TaskAttemptEvent)
     {
         TaskAttemptEvent attemptEvent = (TaskAttemptEvent)@event;
         TaskAttemptId    attemptID    = ((TaskAttemptEvent)@event).GetTaskAttemptID();
         if (attemptEvent.GetType() == this.attemptEventTypeToWait && attemptID.GetTaskId(
                 ).GetId() == 0 && attemptID.GetId() == 0)
         {
             try
             {
                 latch.Await();
             }
             catch (Exception e)
             {
                 Sharpen.Runtime.PrintStackTrace(e);
             }
         }
     }
     base.Dispatch(@event);
 }