/** * Create a copy of the {@link InputFailedEvent} by adding a target input * index The index of the physical input to which this event should be routed * * @param targetIndex * The index of the physical input to which this * {@link InputFailedEvent} should be routed * * @return copy of the {@link InputFailedEvent} with the target input index * added */ @Private public InputFailedEvent makeCopy(int targetIndex) { return create(targetIndex, version); }
private void processInputFailedEvent(InputFailedEvent ife) { InputAttemptIdentifier srcAttemptIdentifier = new InputAttemptIdentifier(ife.getTargetIndex(), ife.getVersion()); shuffleManager.obsoleteKnownInput(srcAttemptIdentifier); }
@Private public static InputFailedEvent create(int targetIndex, int version) { return new InputFailedEvent(targetIndex, version); }
} else { InputFailedEvent ifEvent = ((InputFailedEvent) event); e = InputFailedEvent.create(inputIndex, ifEvent.getVersion());
int[] targetIndices = routeMeta.getTargetIndices(); while (numEventsDone < numEvents && listSize++ < listMaxSize) { InputFailedEvent e = ifEvent.makeCopy(targetIndices[numEventsDone]); numEventsDone++; TezEvent tezEventToSend = new TezEvent(e, tezEvent.getSourceInfo(),
((CompositeDataMovementEvent) tezEvent.getEvent()).setVersion(srcTaId.getId()); } else { ((InputFailedEvent) tezEvent.getEvent()).setVersion(srcTaId.getId());
private void processTaskFailedEvent(InputFailedEvent ifEvent) { InputAttemptIdentifier taIdentifier = new InputAttemptIdentifier(ifEvent.getTargetIndex(), ifEvent.getVersion()); scheduler.obsoleteInput(taIdentifier); if (LOG.isDebugEnabled()) { LOG.debug("Obsoleting output of src-task: " + taIdentifier); } }
InputFailedEventProto ifProto = InputFailedEventProto.parseFrom(input); event = InputFailedEvent.create(ifProto.getTargetIndex(), ifProto.getVersion()); break; case ROOT_INPUT_DATA_INFORMATION_EVENT:
@VisibleForTesting protected void sendInputFailedToConsumers() { Vertex vertex = getVertex(); Map<Vertex, Edge> edges = vertex.getOutputVertices(); if (edges != null && !edges.isEmpty()) { List<TezEvent> tezIfEvents = Lists.newArrayListWithCapacity(edges.size()); for (Vertex edgeVertex : edges.keySet()) { tezIfEvents.add(new TezEvent(new InputFailedEvent(), new EventMetaData(EventProducerConsumerType.SYSTEM, vertex.getName(), edgeVertex.getName(), getID()), appContext.getClock().getTime())); } sendEvent(new VertexEventRouteEvent(vertex.getVertexId(), tezIfEvents)); } }
InputFailedEvent ifEvt = (InputFailedEvent) event; message = InputFailedEventProto.newBuilder() .setTargetIndex(ifEvt.getTargetIndex()) .setVersion(ifEvt.getVersion()).build(); break; case ROOT_INPUT_DATA_INFORMATION_EVENT: