@Override public synchronized void onVertexManagerEventReceived(VertexManagerEvent vmEvent) throws IOException { /* vmEvent after reconfigure doesn't matter */ if (vertexReconfigured) { return; } if (vmEvent.getUserPayload() != null) { String srcVertex = vmEvent.getProducerAttemptIdentifier().getTaskIdentifier().getVertexIdentifier().getName(); SrcVertex srcV = srcVerticesByName.get(srcVertex); // vmEvent from non-cp vertex doesn't matter if (srcV == null) { return; } VertexManagerEventPayloadProto proto = VertexManagerEventPayloadProto.parseFrom(ByteString.copyFrom(vmEvent.getUserPayload())); srcV.numRecord += proto.getNumRecord(); srcV.taskWithVMEvent.add( vmEvent.getProducerAttemptIdentifier().getTaskIdentifier().getIdentifier()); } tryScheduleTasks(); }
private void handleVertexManagerEvent(VertexManagerEvent vmEvent) { TaskIdentifier producerTask = vmEvent.getProducerAttemptIdentifier().getTaskIdentifier(); if (!taskWithVmEvents.add(producerTask)) { LOG.info("Ignoring vertex manager event from: {}", producerTask); + " vertex numEventsReceived: {} vertex output size: {}" + " total numEventsReceived: {} total output size: {}", vmEvent.getProducerAttemptIdentifier(), sourceTaskOutputSize, srcInfo.numVMEventsReceived, srcInfo.outputSize, numVertexManagerEventsReceived, completedSourceTasksOutputSize);