@Override public void handle(Event event) { synchronized (mutex) { actual.handle(event); drained = false; } } };
@Override public void transition(JobImpl job, JobEvent event) { job.eventHandler.handle(new CommitterJobAbortEvent(job.jobId, job.jobContext, org.apache.hadoop.mapreduce.JobStatus.State.FAILED)); } }
@SuppressWarnings("unchecked") @Override public void transition(TaskAttemptImpl taskAttempt, TaskAttemptEvent event) { taskAttempt.eventHandler.handle(new TaskTAttemptEvent( taskAttempt.attemptId, TaskEventType.T_ATTEMPT_COMMIT_PENDING)); } }
@Override public void handle(Event event) { // Use hashCode (of ApplicationId) to dispatch the event to the child // dispatcher, such that all the writing events of one application will // be handled by one thread, the scheduled order of the these events // will be preserved int index = (event.hashCode() & Integer.MAX_VALUE) % dispatchers.size(); dispatchers.get(index).getEventHandler().handle(event); }
@Override protected void expire(NodeId id) { dispatcher.handle( new RMNodeEvent(id, RMNodeEventType.EXPIRE)); } }
@Override public void handle(Event event) { // Use hashCode (of ApplicationId) to dispatch the event to the child // dispatcher, such that all the writing events of one application will // be handled by one thread, the scheduled order of the these events // will be preserved int index = (event.hashCode() & Integer.MAX_VALUE) % dispatchers.size(); dispatchers.get(index).getEventHandler().handle(event); } }
@Override public void transition(JobImpl job, JobEvent event) { job.setFinishTime(); job.eventHandler.handle(new CommitterJobAbortEvent(job.jobId, job.jobContext, org.apache.hadoop.mapreduce.JobStatus.State.KILLED)); } }
@Override public void transition(ContainerImpl container, ContainerEvent event) { // Container was PAUSED so tell the scheduler container.dispatcher.getEventHandler().handle( new ContainerSchedulerEvent(container, ContainerSchedulerEventType.CONTAINER_PAUSED)); } }
@Override @SuppressWarnings("unchecked") // dispatcher not typed public void run() { dispatcher.getEventHandler().handle( new LocalizationEvent(LocalizationEventType.CACHE_CLEANUP)); }
protected void internalErrorUncaughtException(TaskEventType type, Exception e) { eventHandler.handle(new DAGEventDiagnosticsUpdate( this.taskId.getVertexID().getDAGId(), "Uncaught exception when handling event " + type + " on Task " + this.taskId + ", error=" + e.getMessage())); eventHandler.handle(new DAGEvent(this.taskId.getVertexID().getDAGId(), DAGEventType.INTERNAL_ERROR)); }
void logJobHistoryFinishedEvent() { this.setFinishTime(); JobFinishedEvent jfe = createJobFinishedEvent(this); LOG.info("Calling handler for JobFinishedEvent "); this.getEventHandler().handle(new JobHistoryEvent(this.jobId, jfe)); }
protected JobStateInternal checkReadyForCommit() { JobStateInternal currentState = getInternalState(); if (completedTaskCount == tasks.size() && currentState == JobStateInternal.RUNNING) { eventHandler.handle(new CommitterJobCommitEvent(jobId, getJobContext())); return JobStateInternal.COMMITTING; } // return the current state as job not ready to commit yet return getInternalState(); }
@Override public void transition(ContainerImpl container, ContainerEvent event) { // Pause the process/process-grp if it is supported by the container container.dispatcher.getEventHandler().handle( new ContainersLauncherEvent(container, ContainersLauncherEventType.RESUME_CONTAINER)); ContainerResumeEvent resumeEvent = (ContainerResumeEvent) event; container.addDiagnostics(resumeEvent.getDiagnostic() + "\n"); } }
@Override protected void dispatch(Event event) { LOG.info("Dispatching the event " + event.getClass().getName() + "." + event.toString()); Class<? extends Enum> type = event.getType().getDeclaringClass(); if (eventDispatchers.get(type) != null) { eventDispatchers.get(type).handle(event); } } @Override
@Override public void transition(JobImpl job, JobEvent event) { job.metrics.endRunningJob(job); job.addDiagnostic("Job setup failed : " + ((JobSetupFailedEvent) event).getMessage()); job.eventHandler.handle(new CommitterJobAbortEvent(job.jobId, job.jobContext, org.apache.hadoop.mapreduce.JobStatus.State.FAILED)); } }
@Override public void transition(LocalizedResource rsrc, ResourceEvent event) { ResourceFailedLocalizationEvent failedEvent = (ResourceFailedLocalizationEvent) event; Queue<ContainerId> containers = rsrc.ref; for (ContainerId container : containers) { rsrc.dispatcher.getEventHandler().handle( new ContainerResourceFailedEvent(container, failedEvent .getLocalResourceRequest(), failedEvent.getDiagnosticMessage())); } } }
@SuppressWarnings("unchecked") public void tryKillDAG(DAG dag, String message) throws TezException { try { logDAGKillRequestEvent(dag.getID(), false); } catch (IOException e) { throw new TezException(e); } dispatcher.getEventHandler().handle(new DAGEventTerminateDag(dag.getID(), DAGTerminationCause.DAG_KILL, message)); }
@Override protected void attemptLaunched(TaskAttemptId attemptID) { getContext().getEventHandler().handle( new TaskAttemptEvent(attemptID, sendFailEvent)); }
private void sendTaskStartedEvent() { launchTime = getLaunchTime(); TaskStartedEvent tse = new TaskStartedEvent( TypeConverter.fromYarn(taskId), launchTime, TypeConverter.fromYarn(taskId.getTaskType()), getSplitsAsString()); eventHandler .handle(new JobHistoryEvent(taskId.getJobId(), tse)); historyTaskStartGenerated = true; }
private void sendFetchFailure(MRApp app, TaskAttempt reduceAttempt, TaskAttempt mapAttempt, String hostname) { app.getContext().getEventHandler().handle( new JobTaskAttemptFetchFailureEvent( reduceAttempt.getID(), Arrays.asList(new TaskAttemptId[] {mapAttempt.getID()}), hostname)); }