Return-Path: X-Original-To: apmail-tez-commits-archive@minotaur.apache.org Delivered-To: apmail-tez-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1C478E5AB for ; Fri, 15 Mar 2013 21:30:31 +0000 (UTC) Received: (qmail 41668 invoked by uid 500); 15 Mar 2013 21:30:31 -0000 Delivered-To: apmail-tez-commits-archive@tez.apache.org Received: (qmail 41650 invoked by uid 500); 15 Mar 2013 21:30:31 -0000 Mailing-List: contact commits-help@tez.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tez.incubator.apache.org Delivered-To: mailing list commits@tez.incubator.apache.org Received: (qmail 41641 invoked by uid 99); 15 Mar 2013 21:30:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Mar 2013 21:30:31 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Mar 2013 21:30:10 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 85FA82388B56; Fri, 15 Mar 2013 21:27:10 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1457129 [20/38] - in /incubator/tez: ./ tez-ampool/ tez-ampool/src/ tez-ampool/src/main/ tez-ampool/src/main/bin/ tez-ampool/src/main/conf/ tez-ampool/src/main/java/ tez-ampool/src/main/java/org/ tez-ampool/src/main/java/org/apache/ tez-am... Date: Fri, 15 Mar 2013 21:26:48 -0000 To: commits@tez.incubator.apache.org From: acmurthy@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130315212710.85FA82388B56@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/Task.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/Task.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/Task.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/Task.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,75 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job; + +import java.util.Map; + +import org.apache.hadoop.mapreduce.Counters; +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.mapreduce.v2.api.records.TaskId; +import org.apache.hadoop.mapreduce.v2.api.records.TaskReport; +import org.apache.hadoop.mapreduce.v2.api.records.TaskState; +import org.apache.hadoop.mapreduce.v2.api.records.TaskType; + +/** + * Read only view of Task. + */ +public interface Task { + TaskId getID(); + TaskReport getReport(); + TaskState getState(); + Counters getCounters(); + float getProgress(); + TaskType getType(); + Map getAttempts(); + TaskAttempt getAttempt(TaskAttemptId attemptID); + + /** Has Task reached the final state or not. + */ + boolean isFinished(); + + /** + * Can the output of the taskAttempt be committed. Note that once the task + * gives a go for a commit, further canCommit requests from any other attempts + * should return false. + * + * @param taskAttemptID + * @return whether the attempt's output can be committed or not. + */ + boolean canCommit(TaskAttemptId taskAttemptID); + + + /** + * Do the running tasks need to stick around after they're done processing and + * generating output. Required for tasks which have custom output handling + * such as in-memory shuffle. + * + * @return whether the task needs to stick around. + */ + boolean needsWaitAfterOutputConsumable(); + + /** + * Get the attempt id which has reported in as output ready. null if not + * applicable. + * + * @return + */ + TaskAttemptId getOutputConsumableAttempt(); + +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskAttempt.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskAttempt.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskAttempt.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskAttempt.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,101 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job; + +import java.util.List; + +import org.apache.hadoop.mapreduce.Counters; +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptReport; +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptState; +import org.apache.hadoop.yarn.api.records.ContainerId; +import org.apache.hadoop.yarn.api.records.NodeId; + + +/** + * Read only view of TaskAttempt. + */ +public interface TaskAttempt { + TaskAttemptId getID(); + TaskAttemptReport getReport(); + List getDiagnostics(); + Counters getCounters(); + float getProgress(); + TaskAttemptState getState(); + + /** + * Has attempt reached the final state or not. + * @return true if it has finished, else false + */ + boolean isFinished(); + + /** + * @return the container ID if a container is assigned, otherwise null. + */ + ContainerId getAssignedContainerID(); + + /** + * @return container mgr address if a container is assigned, otherwise null. + */ + String getAssignedContainerMgrAddress(); + + /** + * @return node's id if a container is assigned, otherwise null. + */ + NodeId getNodeId(); + + /** + * @return node's http address if a container is assigned, otherwise null. + */ + String getNodeHttpAddress(); + + /** + * @return node's rack name if a container is assigned, otherwise null. + */ + String getNodeRackName(); + + /** + * @return time at which container is launched. If container is not launched + * yet, returns 0. + */ + long getLaunchTime(); + + /** + * @return attempt's finish time. If attempt is not finished + * yet, returns 0. + */ + long getFinishTime(); + + /** + * @return The attempt's shuffle finish time if the attempt is a reduce. If + * attempt is not finished yet, returns 0. + */ + long getShuffleFinishTime(); + + /** + * @return The attempt's sort or merge finish time if the attempt is a reduce. + * If attempt is not finished yet, returns 0. + */ + long getSortFinishTime(); + + /** + * @return the port shuffle is on. + */ + public int getShufflePort(); +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskAttemptStateInternal.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskAttemptStateInternal.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskAttemptStateInternal.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskAttemptStateInternal.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,39 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job; + +import org.apache.hadoop.classification.InterfaceAudience.Private; + +/** +* TaskAttemptImpl internal state machine states. +* +*/ +@Private +public enum TaskAttemptStateInternal { + NEW, + START_WAIT, + RUNNING, + OUTPUT_CONSUMABLE, + COMMIT_PENDING, + KILL_IN_PROGRESS, + FAIL_IN_PROGRESS, + KILLED, + FAILED, + SUCCEEDED +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskStateInternal.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskStateInternal.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskStateInternal.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/TaskStateInternal.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,23 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job; + +public enum TaskStateInternal { + NEW, SCHEDULED, RUNNING, SUCCEEDED, FAILED, KILL_WAIT, KILLED +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEvent.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEvent.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEvent.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEvent.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,41 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.yarn.event.AbstractEvent; +import org.apache.hadoop.mapreduce.v2.api.records.JobId; + +/** + * This class encapsulates job related events. + * + */ +public class JobEvent extends AbstractEvent { + + private JobId jobID; + + public JobEvent(JobId jobID, JobEventType type) { + super(type); + this.jobID = jobID; + } + + public JobId getJobId() { + return jobID; + } + +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventCounterUpdate.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventCounterUpdate.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventCounterUpdate.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventCounterUpdate.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,60 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.hadoop.mapreduce.v2.api.records.JobId; + +public class JobEventCounterUpdate extends JobEvent { + + List counterUpdates = null; + + public JobEventCounterUpdate(JobId jobId) { + super(jobId, JobEventType.JOB_COUNTER_UPDATE); + counterUpdates = new ArrayList(); + } + + public void addCounterUpdate(Enum key, long incrValue) { + counterUpdates.add(new CounterIncrementalUpdate(key, incrValue)); + } + + public List getCounterUpdates() { + return counterUpdates; + } + + public static class CounterIncrementalUpdate { + Enum key; + long incrValue; + + public CounterIncrementalUpdate(Enum key, long incrValue) { + this.key = key; + this.incrValue = incrValue; + } + + public Enum getCounterKey() { + return key; + } + + public long getIncrementValue() { + return incrValue; + } + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventDiagnosticsUpdate.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventDiagnosticsUpdate.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventDiagnosticsUpdate.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventDiagnosticsUpdate.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,38 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.JobId; +import org.apache.hadoop.mapreduce.v2.common.DiagnosableEvent; + +public class JobEventDiagnosticsUpdate extends JobEvent implements + DiagnosableEvent { + + private String diagnosticUpdate; + + public JobEventDiagnosticsUpdate(JobId jobID, String diagnostic) { + super(jobID, JobEventType.JOB_DIAGNOSTIC_UPDATE); + this.diagnosticUpdate = diagnostic; + } + + @Override + public String getDiagnosticInfo() { + return this.diagnosticUpdate; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventMapTaskRescheduled.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventMapTaskRescheduled.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventMapTaskRescheduled.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventMapTaskRescheduled.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,38 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskId; + + + +public class JobEventMapTaskRescheduled extends JobEvent { + + private TaskId taskID; + + public JobEventMapTaskRescheduled(TaskId taskID) { + super(taskID.getJobId(), JobEventType.JOB_MAP_TASK_RESCHEDULED); + this.taskID = taskID; + } + + public TaskId getTaskID() { + return taskID; + } + +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskAttemptCompleted.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskAttemptCompleted.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskAttemptCompleted.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskAttemptCompleted.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,37 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptCompletionEvent; + + +public class JobEventTaskAttemptCompleted extends JobEvent { + + private TaskAttemptCompletionEvent completionEvent; + + public JobEventTaskAttemptCompleted(TaskAttemptCompletionEvent completionEvent) { + super(completionEvent.getAttemptId().getTaskId().getJobId(), + JobEventType.JOB_TASK_ATTEMPT_COMPLETED); + this.completionEvent = completionEvent; + } + + public TaskAttemptCompletionEvent getCompletionEvent() { + return completionEvent; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskAttemptFetchFailure.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskAttemptFetchFailure.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskAttemptFetchFailure.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskAttemptFetchFailure.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,48 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import java.util.List; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; + + + +public class JobEventTaskAttemptFetchFailure extends JobEvent { + + private final TaskAttemptId reduce; + private final List maps; + + public JobEventTaskAttemptFetchFailure(TaskAttemptId reduce, + List maps) { + super(reduce.getTaskId().getJobId(), + JobEventType.JOB_TASK_ATTEMPT_FETCH_FAILURE); + this.reduce = reduce; + this.maps = maps; + } + + public List getMaps() { + return maps; + } + + public TaskAttemptId getReduce() { + return reduce; + } + +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskCompleted.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskCompleted.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskCompleted.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventTaskCompleted.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,43 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskId; +import org.apache.hadoop.mapreduce.v2.api.records.TaskState; + + +public class JobEventTaskCompleted extends JobEvent { + + private TaskId taskID; + private TaskState taskState; + + public JobEventTaskCompleted(TaskId taskID, TaskState taskState) { + super(taskID.getJobId(), JobEventType.JOB_TASK_COMPLETED); + this.taskID = taskID; + this.taskState = taskState; + } + + public TaskId getTaskID() { + return taskID; + } + + public TaskState getState() { + return taskState; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventType.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventType.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventType.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobEventType.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,48 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +/** + * Event types handled by Job. + */ +public enum JobEventType { + + //Producer:Client + JOB_KILL, + + //Producer:MRAppMaster + JOB_INIT, + JOB_START, + + //Producer:Task + JOB_TASK_COMPLETED, + JOB_MAP_TASK_RESCHEDULED, + JOB_TASK_ATTEMPT_COMPLETED, + + //Producer:Job + JOB_COMPLETED, + + //Producer:Any component + JOB_DIAGNOSTIC_UPDATE, + INTERNAL_ERROR, + JOB_COUNTER_UPDATE, + + //Producer:TaskAttemptListener + JOB_TASK_ATTEMPT_FETCH_FAILURE, +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobFinishEvent.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobFinishEvent.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobFinishEvent.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/JobFinishEvent.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,42 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.JobId; +import org.apache.hadoop.yarn.event.AbstractEvent; + +public class JobFinishEvent + extends AbstractEvent { + + public enum Type { + STATE_CHANGED + } + + private JobId jobID; + + public JobFinishEvent(JobId jobID) { + super(Type.STATE_CHANGED); + this.jobID = jobID; + } + + public JobId getJobId() { + return jobID; + } + +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEvent.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEvent.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEvent.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEvent.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,45 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.yarn.event.AbstractEvent; +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; + +/** + * This class encapsulates task attempt related events. + * + */ +public class TaskAttemptEvent extends AbstractEvent { + + private TaskAttemptId attemptID; + + /** + * Create a new TaskAttemptEvent. + * @param id the id of the task attempt + * @param type the type of event that happened. + */ + public TaskAttemptEvent(TaskAttemptId id, TaskAttemptEventType type) { + super(type); + this.attemptID = id; + } + + public TaskAttemptId getTaskAttemptID() { + return attemptID; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventContainerTerminated.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventContainerTerminated.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventContainerTerminated.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventContainerTerminated.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,37 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.mapreduce.v2.common.DiagnosableEvent; + +public class TaskAttemptEventContainerTerminated extends TaskAttemptEvent + implements DiagnosableEvent { + + private final String message; + + public TaskAttemptEventContainerTerminated(TaskAttemptId id, String message) { + super(id, TaskAttemptEventType.TA_CONTAINER_TERMINATED); + this.message = message; + } + + @Override + public String getDiagnosticInfo() { + return message; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventContainerTerminating.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventContainerTerminating.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventContainerTerminating.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventContainerTerminating.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,37 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.mapreduce.v2.common.DiagnosableEvent; + +public class TaskAttemptEventContainerTerminating extends TaskAttemptEvent + implements DiagnosableEvent { + + private final String message; + + public TaskAttemptEventContainerTerminating(TaskAttemptId id, + String diagMessage) { + super(id, TaskAttemptEventType.TA_CONTAINER_TERMINATING); + this.message = diagMessage; + } + + public String getDiagnosticInfo() { + return this.message; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventDiagnosticsUpdate.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventDiagnosticsUpdate.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventDiagnosticsUpdate.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventDiagnosticsUpdate.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,39 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.mapreduce.v2.common.DiagnosableEvent; + +public class TaskAttemptEventDiagnosticsUpdate extends TaskAttemptEvent + implements DiagnosableEvent { + + private String diagnosticInfo; + + public TaskAttemptEventDiagnosticsUpdate(TaskAttemptId attemptID, + String diagnosticInfo) { + super(attemptID, TaskAttemptEventType.TA_DIAGNOSTICS_UPDATE); + this.diagnosticInfo = diagnosticInfo; + } + + @Override + public String getDiagnosticInfo() { + return diagnosticInfo; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventFailRequest.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventFailRequest.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventFailRequest.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventFailRequest.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,38 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.mapreduce.v2.common.DiagnosableEvent; + +public class TaskAttemptEventFailRequest extends TaskAttemptEvent implements + DiagnosableEvent { + + private final String message; + + public TaskAttemptEventFailRequest(TaskAttemptId id, String message) { + super(id, TaskAttemptEventType.TA_FAIL_REQUEST); + this.message = message; + } + + @Override + public String getDiagnosticInfo() { + return this.message; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventKillRequest.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventKillRequest.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventKillRequest.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventKillRequest.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,39 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.mapreduce.v2.common.DiagnosableEvent; + +public class TaskAttemptEventKillRequest extends TaskAttemptEvent implements + DiagnosableEvent { + + private final String message; + + public TaskAttemptEventKillRequest(TaskAttemptId id, String message) { + super(id, TaskAttemptEventType.TA_KILL_REQUEST); + this.message = message; + } + + @Override + public String getDiagnosticInfo() { + return this.message; + } + +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventNodeFailed.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventNodeFailed.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventNodeFailed.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventNodeFailed.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,39 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.mapreduce.v2.common.DiagnosableEvent; + +public class TaskAttemptEventNodeFailed extends TaskAttemptEvent implements + DiagnosableEvent { + + private final String message; + + public TaskAttemptEventNodeFailed(TaskAttemptId id, + String diagMessage) { + super(id, TaskAttemptEventType.TA_NODE_FAILED); + this.message = diagMessage; + } + + @Override + public String getDiagnosticInfo() { + return this.message; + } + +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventOutputConsumable.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventOutputConsumable.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventOutputConsumable.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventOutputConsumable.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,36 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.tez.records.OutputContext; + +public class TaskAttemptEventOutputConsumable extends TaskAttemptEvent { + + private final OutputContext outputContext; + + public TaskAttemptEventOutputConsumable(TaskAttemptId id, + OutputContext outputContext) { + super(id, TaskAttemptEventType.TA_OUTPUT_CONSUMABLE); + this.outputContext = outputContext; + } + + public OutputContext getOutputContext() { + return this.outputContext; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventSchedule.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventSchedule.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventSchedule.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventSchedule.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,35 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; + +public class TaskAttemptEventSchedule extends TaskAttemptEvent { + + private final boolean rescheduled; + + public TaskAttemptEventSchedule(TaskAttemptId id, boolean rescheduled) { + super(id, TaskAttemptEventType.TA_SCHEDULE); + this.rescheduled = rescheduled; + } + + public boolean isRescheduled() { + return this.rescheduled; + } + +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventStartedRemotely.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventStartedRemotely.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventStartedRemotely.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventStartedRemotely.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,53 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import java.util.Map; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.yarn.api.records.ApplicationAccessType; +import org.apache.hadoop.yarn.api.records.ContainerId; + +public class TaskAttemptEventStartedRemotely extends TaskAttemptEvent { + + private final ContainerId containerId; + // TODO Can appAcls be handled elsewhere ? + private final Map applicationACLs; + private final int shufflePort; + + public TaskAttemptEventStartedRemotely(TaskAttemptId id, ContainerId containerId, + Map appAcls, int shufflePort) { + super(id, TaskAttemptEventType.TA_STARTED_REMOTELY); + this.containerId = containerId; + this.applicationACLs = appAcls; + this.shufflePort = shufflePort; + } + + public ContainerId getContainerId() { + return containerId; + } + + public Map getApplicationACLs() { + return applicationACLs; + } + + public int getShufflePort() { + return shufflePort; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventStatusUpdate.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventStatusUpdate.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventStatusUpdate.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventStatusUpdate.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,59 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import java.util.List; + +import org.apache.hadoop.mapreduce.Counters; +import org.apache.hadoop.mapreduce.v2.api.records.Phase; +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptState; + +public class TaskAttemptEventStatusUpdate extends TaskAttemptEvent { + + private TaskAttemptStatus reportedTaskAttemptStatus; + + public TaskAttemptEventStatusUpdate(TaskAttemptId id, + TaskAttemptStatus taskAttemptStatus) { + super(id, TaskAttemptEventType.TA_STATUS_UPDATE); + this.reportedTaskAttemptStatus = taskAttemptStatus; + } + + public TaskAttemptStatus getReportedTaskAttemptStatus() { + return reportedTaskAttemptStatus; + } + + /** + * The internal TaskAttemptStatus object corresponding to remote Task status. + * + */ + public static class TaskAttemptStatus { + public TaskAttemptId id; + public float progress; + public Counters counters; + public String stateString; + public Phase phase; + public long outputSize; + public List fetchFailedMaps; + public long mapFinishTime; + public long shuffleFinishTime; + public long sortFinishTime; + public TaskAttemptState taskState; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventType.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventType.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventType.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskAttemptEventType.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,60 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +/** + * Event types handled by TaskAttempt. + */ +public enum TaskAttemptEventType { + +//Producer:Task, Speculator + TA_SCHEDULE, + +//Producer: TaskAttemptListener + TA_STARTED_REMOTELY, + TA_STATUS_UPDATE, + TA_DIAGNOSTICS_UPDATE, + TA_OUTPUT_CONSUMABLE, // TODO History event to indicate this ? + TA_COMMIT_PENDING, + TA_DONE, + TA_FAILED, + TA_TIMED_OUT, + +//Producer: Client + TA_FAIL_REQUEST, + +//Producer: Client, Scheduler, On speculation. + TA_KILL_REQUEST, + +//Producer: Container / Scheduler. + // Container may be running and is in the process of shutting down. + TA_CONTAINER_TERMINATING, + + // Container has shut down. + // In reality, the RM considers the container to be complete. Container has + // shutdown except for once case - likely when the RM decides to kill the + // container. TODO: Document the case. + TA_CONTAINER_TERMINATED, + + // The node running the task attempt failed. + TA_NODE_FAILED, + +//Producer: Job + TA_TOO_MANY_FETCH_FAILURES, +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEvent.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEvent.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEvent.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEvent.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,40 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.yarn.event.AbstractEvent; +import org.apache.hadoop.mapreduce.v2.api.records.TaskId; + +/** + * this class encapsulates task related events. + * + */ +public class TaskEvent extends AbstractEvent { + + private TaskId taskID; + + public TaskEvent(TaskId taskID, TaskEventType type) { + super(type); + this.taskID = taskID; + } + + public TaskId getTaskID() { + return taskID; + } +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEventTAUpdate.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEventTAUpdate.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEventTAUpdate.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEventTAUpdate.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,37 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId; + + +public class TaskEventTAUpdate extends TaskEvent { + + private TaskAttemptId attemptID; + + public TaskEventTAUpdate(TaskAttemptId id, TaskEventType type) { + super(id.getTaskId(), type); + this.attemptID = id; + } + + public TaskAttemptId getTaskAttemptID() { + return attemptID; + } + +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEventType.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEventType.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEventType.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/TaskEventType.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,42 @@ +/** +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.mapreduce.v2.app2.job.event; + +/** + * Event types handled by Task. + */ +public enum TaskEventType { + + //Producer:Client, Job + T_KILL, + + //Producer:Job + T_SCHEDULE, + + //Producer:Speculator + T_ADD_SPEC_ATTEMPT, + + //Producer:TaskAttempt + T_ATTEMPT_LAUNCHED, + T_ATTEMPT_OUTPUT_CONSUMABLE, + T_ATTEMPT_COMMIT_PENDING, + T_ATTEMPT_FAILED, + T_ATTEMPT_SUCCEEDED, + T_ATTEMPT_KILLED +} Added: incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/package-info.java URL: http://svn.apache.org/viewvc/incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/package-info.java?rev=1457129&view=auto ============================================================================== --- incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/package-info.java (added) +++ incubator/tez/tez-yarn-application/src/main/java/org/apache/hadoop/mapreduce/v2/app2/job/event/package-info.java Fri Mar 15 21:26:36 2013 @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@InterfaceAudience.Private +package org.apache.hadoop.mapreduce.v2.app2.job.event; +import org.apache.hadoop.classification.InterfaceAudience;