/** * Notifies the change in task state to master. * @param newState of the task. * @param vertexPutOnHold the vertex put on hold. * @param cause only provided as non-empty upon recoverable failures. */ private void notifyTaskStateToMaster(final TaskState.State newState, final Optional<String> vertexPutOnHold, final Optional<TaskState.RecoverableTaskFailureCause> cause) { final ControlMessage.TaskStateChangedMsg.Builder msgBuilder = ControlMessage.TaskStateChangedMsg.newBuilder() .setExecutorId(executorId) .setTaskId(taskId) .setAttemptIdx(attemptIdx) .setState(convertState(newState)); if (vertexPutOnHold.isPresent()) { msgBuilder.setVertexPutOnHoldId(vertexPutOnHold.get()); } if (cause.isPresent()) { msgBuilder.setFailureCause(convertFailureCause(cause.get())); } // Send taskStateChangedMsg to master! persistentConnectionToMasterMap.getMessageSender(MessageEnvironment.RUNTIME_MASTER_MESSAGE_LISTENER_ID).send( ControlMessage.Message.newBuilder() .setId(RuntimeIdManager.generateMessageId()) .setListenerId(MessageEnvironment.RUNTIME_MASTER_MESSAGE_LISTENER_ID) .setType(ControlMessage.MessageType.TaskStateChanged) .setTaskStateChangedMsg(msgBuilder.build()) .build()); }
/** * Notifies the change in task state to master. * @param newState of the task. * @param vertexPutOnHold the vertex put on hold. * @param cause only provided as non-empty upon recoverable failures. */ private void notifyTaskStateToMaster(final TaskState.State newState, final Optional<String> vertexPutOnHold, final Optional<TaskState.RecoverableTaskFailureCause> cause) { final ControlMessage.TaskStateChangedMsg.Builder msgBuilder = ControlMessage.TaskStateChangedMsg.newBuilder() .setExecutorId(executorId) .setTaskId(taskId) .setAttemptIdx(attemptIdx) .setState(convertState(newState)); if (vertexPutOnHold.isPresent()) { msgBuilder.setVertexPutOnHoldId(vertexPutOnHold.get()); } if (cause.isPresent()) { msgBuilder.setFailureCause(convertFailureCause(cause.get())); } // Send taskStateChangedMsg to master! persistentConnectionToMasterMap.getMessageSender(MessageEnvironment.RUNTIME_MASTER_MESSAGE_LISTENER_ID).send( ControlMessage.Message.newBuilder() .setId(RuntimeIdManager.generateMessageId()) .setListenerId(MessageEnvironment.RUNTIME_MASTER_MESSAGE_LISTENER_ID) .setType(ControlMessage.MessageType.TaskStateChanged) .setTaskStateChangedMsg(msgBuilder.build()) .build()); }