@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())); } }
/** * <code>required string runtimeEdgeId = 2;</code> */ public Builder clearRuntimeEdgeId() { bitField0_ = (bitField0_ & ~0x00000002); runtimeEdgeId_ = getDefaultInstance().getRuntimeEdgeId(); onChanged(); return this; } /**
/** * <code>required string runtimeEdgeId = 2;</code> */ public Builder clearRuntimeEdgeId() { bitField0_ = (bitField0_ & ~0x00000002); runtimeEdgeId_ = getDefaultInstance().getRuntimeEdgeId(); onChanged(); return this; } /**