@Override public void onMessage(final ControlMessage.Message message) { switch (message.getType()) { case PipeInit: final ControlMessage.PipeInitMessage pipeInitMessage = message.getPipeInitMsg(); final Pair<String, Long> keyPair = Pair.of(pipeInitMessage.getRuntimeEdgeId(), pipeInitMessage.getSrcTaskIndex()); // Allow to put at most once final Lock lock = runtimeEdgeSrcIndexToLock.get(keyPair); lock.lock(); try { if (null != runtimeEdgeSrcIndexToExecutor.put(keyPair, pipeInitMessage.getExecutorId())) { throw new RuntimeException(keyPair.toString()); } runtimeEdgeSrcIndexToCondition.get(keyPair).signalAll(); } finally { lock.unlock(); } break; default: throw new IllegalMessageException(new Exception(message.toString())); } }
@Override public void onMessage(final ControlMessage.Message message) { switch (message.getType()) { case PipeInit: final ControlMessage.PipeInitMessage pipeInitMessage = message.getPipeInitMsg(); final Pair<String, Long> keyPair = Pair.of(pipeInitMessage.getRuntimeEdgeId(), pipeInitMessage.getSrcTaskIndex()); // Allow to put at most once final Lock lock = runtimeEdgeSrcIndexToLock.get(keyPair); lock.lock(); try { if (null != runtimeEdgeSrcIndexToExecutor.put(keyPair, pipeInitMessage.getExecutorId())) { throw new RuntimeException(keyPair.toString()); } runtimeEdgeSrcIndexToCondition.get(keyPair).signalAll(); } finally { lock.unlock(); } break; default: throw new IllegalMessageException(new Exception(message.toString())); } }
private MessageType getMsgType(final ControlMessage.Message controlMessage) { switch (controlMessage.getType()) { case TaskStateChanged: case ScheduleTask: case BlockStateChanged: case ExecutorFailed: case DataSizeMetric: case ExecutorDataCollected: case MetricMessageReceived: case RequestMetricFlush: case MetricFlushed: case PipeInit: return MessageType.Send; case RequestBlockLocation: case RequestBroadcastVariable: case RequestPipeLoc: return MessageType.Request; case BlockLocationInfo: case InMasterBroadcastVariable: case PipeLocInfo: return MessageType.Reply; default: throw new IllegalArgumentException(controlMessage.toString()); } }
throw new IllegalMessageException(new Exception(message.toString()));
throw new IllegalMessageException(new Exception(message.toString()));
private MessageType getMsgType(final ControlMessage.Message controlMessage) { switch (controlMessage.getType()) { case TaskStateChanged: case ScheduleTask: case BlockStateChanged: case ExecutorFailed: case DataSizeMetric: case ExecutorDataCollected: case MetricMessageReceived: case RequestMetricFlush: case MetricFlushed: case PipeInit: return MessageType.Send; case RequestBlockLocation: case RequestBroadcastVariable: case RequestPipeLoc: return MessageType.Request; case BlockLocationInfo: case InMasterBroadcastVariable: case PipeLocInfo: return MessageType.Reply; default: throw new IllegalArgumentException(controlMessage.toString()); } }
public void onNext(final Message<ControlMessage.Message> messages) { final ControlMessage.Message controlMessage = extractSingleMessage(messages); final MessageType messageType = getMsgType(controlMessage); switch (messageType) { case Send: processSendMessage(controlMessage); break; case Request: processRequestMessage(controlMessage); break; case Reply: processReplyMessage(controlMessage); break; default: throw new IllegalArgumentException(controlMessage.toString()); } }
public void onNext(final Message<ControlMessage.Message> messages) { final ControlMessage.Message controlMessage = extractSingleMessage(messages); final MessageType messageType = getMsgType(controlMessage); switch (messageType) { case Send: processSendMessage(controlMessage); break; case Request: processRequestMessage(controlMessage); break; case Reply: processReplyMessage(controlMessage); break; default: throw new IllegalArgumentException(controlMessage.toString()); } }
private long getRequestId(final ControlMessage.Message controlMessage) { switch (controlMessage.getType()) { case BlockLocationInfo: return controlMessage.getBlockLocationInfoMsg().getRequestId(); case InMasterBroadcastVariable: return controlMessage.getBroadcastVariableMsg().getRequestId(); case PipeLocInfo: return controlMessage.getPipeLocInfoMsg().getRequestId(); default: throw new IllegalArgumentException(controlMessage.toString()); } } }
private long getRequestId(final ControlMessage.Message controlMessage) { switch (controlMessage.getType()) { case BlockLocationInfo: return controlMessage.getBlockLocationInfoMsg().getRequestId(); case InMasterBroadcastVariable: return controlMessage.getBroadcastVariableMsg().getRequestId(); case PipeLocInfo: return controlMessage.getPipeLocInfoMsg().getRequestId(); default: throw new IllegalArgumentException(controlMessage.toString()); } } }
private String getExecutorId(final ControlMessage.Message controlMessage) { switch (controlMessage.getType()) { case RequestBlockLocation: return controlMessage.getRequestBlockLocationMsg().getExecutorId(); case RequestBroadcastVariable: return controlMessage.getRequestbroadcastVariableMsg().getExecutorId(); case RequestPipeLoc: return controlMessage.getRequestPipeLocMsg().getExecutorId(); default: throw new IllegalArgumentException(controlMessage.toString()); } }
private String getExecutorId(final ControlMessage.Message controlMessage) { switch (controlMessage.getType()) { case RequestBlockLocation: return controlMessage.getRequestBlockLocationMsg().getExecutorId(); case RequestBroadcastVariable: return controlMessage.getRequestbroadcastVariableMsg().getExecutorId(); case RequestPipeLoc: return controlMessage.getRequestPipeLocMsg().getExecutorId(); default: throw new IllegalArgumentException(controlMessage.toString()); } }