@Override public void setLastEventSent(TezEvent lastEventSent) { writeLock.lock(); try { // TEZ-3066 ideally Heartbeat just happens in FAIL_IN_PROGRESS & KILL_IN_PROGRESS, // add other states here just in case. create TEZ-3068 for a more elegant solution. if (!EnumSet.of(TaskAttemptStateInternal.FAIL_IN_PROGRESS, TaskAttemptStateInternal.KILL_IN_PROGRESS, TaskAttemptStateInternal.FAILED, TaskAttemptStateInternal.KILLED, TaskAttemptStateInternal.SUCCEEDED).contains(getInternalState())) { DataEventDependencyInfo info = new DataEventDependencyInfo( lastEventSent.getEventReceivedTime(), lastEventSent.getSourceInfo().getTaskAttemptID()); // task attempt id may be null for input data information events if (appendNextDataEvent) { appendNextDataEvent = false; lastDataEvents.add(info); } else { // over-write last event - array list makes it quick lastDataEvents.set(lastDataEvents.size() - 1, info); } } } finally { writeLock.unlock(); } } }
tezEvent.getEventType() == EventType.COMPOSITE_DATA_MOVEMENT_EVENT) { if (failedTaskAttemptIDs.contains(tezEvent.getSourceInfo().getTaskAttemptID())) { return; for (EventInfo eventInfo : onDemandRouteEvents) { if (eventInfo.eventEdge == srcEdge && eventInfo.tezEvent.getSourceInfo().getTaskAttemptID().equals( tezEvent.getSourceInfo().getTaskAttemptID()) && (eventInfo.tezEvent.getEventType() == EventType.DATA_MOVEMENT_EVENT || eventInfo.tezEvent failedTaskAttemptIDs.add(tezEvent.getSourceInfo().getTaskAttemptID());
while (eventIterator.hasNext()) { TezEvent tezEvent = eventIterator.next(); int taskIndex = tezEvent.getSourceInfo().getTaskAttemptID().getTaskID().getId(); int taskAttemptIndex = tezEvent.getSourceInfo().getTaskAttemptID().getId(); if (taskIndex == taskId.getId()) {
public void handleInputInitializerEvents(Collection<TezEvent> tezEvents) { List<InputInitializerEvent> toForwardEvents = new LinkedList<InputInitializerEvent>(); for (TezEvent tezEvent : tezEvents) { String srcVertexName = tezEvent.getSourceInfo().getTaskVertexName(); int taskIndex = tezEvent.getSourceInfo().getTaskAttemptID().getTaskID().getId(); int taskAttemptIndex = tezEvent.getSourceInfo().getTaskAttemptID().getId();
private void handleCompositeDataMovementEvent(TezEvent tezEvent) throws AMUserCodeException { CompositeDataMovementEvent compEvent = (CompositeDataMovementEvent) tezEvent.getEvent(); EventMetaData srcInfo = tezEvent.getSourceInfo(); for (DataMovementEvent dmEvent : compEvent.getEvents()) { TezEvent newEvent = new TezEvent(dmEvent, srcInfo, tezEvent.getEventReceivedTime()); sendTezEventToDestinationTasks(newEvent); } }
e = InputFailedEvent.create(inputIndex, ifEvent.getVersion()); tezEventToSend = new TezEvent(e, tezEvent.getSourceInfo(), tezEvent.getEventReceivedTime()); tezEventToSend.setDestinationInfo(destinationMetaInfo);
case INPUT_READ_ERROR_EVENT: InputReadErrorEvent event = (InputReadErrorEvent) tezEvent.getEvent(); TezTaskAttemptID destAttemptId = tezEvent.getSourceInfo() .getTaskAttemptID(); int destTaskIndex = destAttemptId.getTaskID().getId(); "Fail to sendTezEventToSourceTasks, " + "TezEvent:" + tezEvent.getEvent() + "sourceInfo:" + tezEvent.getSourceInfo() + "destinationInfo:" + tezEvent.getDestinationInfo() + ", " + getEdgeInfo(), e);
TezTaskAttemptID srcAttemptId = tezEvent.getSourceInfo() .getTaskAttemptID(); int srcTaskIndex = srcAttemptId.getTaskID().getId(); throw new AMUserCodeException(Source.EdgeManager, "Fail to sendTezEventToDestinationTasks, event:" + tezEvent.getEvent() + ", sourceInfo:" + tezEvent.getSourceInfo() + ", destinationInfo:" + tezEvent.getDestinationInfo() + ", " + getEdgeInfo(), e);
(TaskAttemptEventOutputFailed) event; TezEvent tezEvent = outputFailedEvent.getInputFailedEvent(); TezTaskAttemptID failedDestTaId = tezEvent.getSourceInfo().getTaskAttemptID(); InputReadErrorEvent readErrorEvent = (InputReadErrorEvent)tezEvent.getEvent(); int failedInputIndexOnDestTa = readErrorEvent.getIndex();
+ ", taskAttemptId=" + taskSpec.getTaskAttemptID() + ", eventType=" + e.getEventType() + ", eventSourceInfo=" + e.getSourceInfo() + ", eventDestinationInfo=" + e.getDestinationInfo());
TezEvent tezEventToSend = new TezEvent(edme, tezEvent.getSourceInfo(), tezEvent.getEventReceivedTime()); tezEventToSend.setDestinationInfo(destinationMetaInfo); listToAdd.add(tezEventToSend); InputFailedEvent e = ifEvent.makeCopy(targetIndices[numEventsDone]); numEventsDone++; TezEvent tezEventToSend = new TezEvent(e, tezEvent.getSourceInfo(), tezEvent.getEventReceivedTime()); tezEventToSend.setDestinationInfo(destinationMetaInfo); DataMovementEvent e = dmEvent.makeCopy(targetIndices[numEventsDone]); numEventsDone++; TezEvent tezEventToSend = new TezEvent(e, tezEvent.getSourceInfo(), tezEvent.getEventReceivedTime()); tezEventToSend.setDestinationInfo(destinationMetaInfo); throw new AMUserCodeException(Source.EdgeManager, "Fail to maybeAddTezEventForDestinationTask, event:" + tezEvent.getEvent() + ", sourceInfo:" + tezEvent.getSourceInfo() + ", destinationInfo:" + tezEvent.getDestinationInfo() + ", " + getEdgeInfo(), e);
EventMetaData sourceMeta = e.getSourceInfo(); switch (e.getEventType()) { case TASK_ATTEMPT_FAILED_EVENT:
TaskAttemptEventOutputFailed destinationEvent = (TaskAttemptEventOutputFailed) castEvent.getCausalEvent(); schedulingCausalTA = destinationEvent.getInputFailedEvent().getSourceInfo().getTaskAttemptID();
+ tezEvent.getEventType()); EventMetaData sourceMeta = tezEvent.getSourceInfo(); switch(tezEvent.getEventType()) { case CUSTOM_PROCESSOR_EVENT: Preconditions.checkArgument(target != null, "Event sent to unknown vertex: " + riEvent.getTargetVertexName()); riEvent.setSourceVertexName(tezEvent.getSourceInfo().getTaskVertexName()); if (target == this) { if (rootInputDescriptors == null ||
if (event.getSourceInfo() != null) { evtBuilder.setSourceInfo(convertEventMetaDataToProto(event.getSourceInfo()));