bufferResultFuture = addTimeout( bufferResultFuture, () -> BufferResult.emptyResults(taskManager.getTaskInfo(taskId).getTaskInstanceId(), token, false), DEFAULT_MAX_WAIT_TIME, timeoutExecutor); .withTimeout(timeout, Response.status(Status.NO_CONTENT) .header(PRESTO_TASK_INSTANCE_ID, taskManager.getTaskInfo(taskId).getTaskInstanceId()) .header(PRESTO_PAGE_TOKEN, token) .header(PRESTO_PAGE_NEXT_TOKEN, token)
taskInfo.setIf(newValue, oldValue -> { if (!isNullOrEmpty(oldValue.getTaskInstanceId()) && !oldValue.getTaskInstanceId().equals(newValue.getTaskInstanceId())) { taskMismatch.set(true); return false;
/** * Move the task directly to the failed state */ private void failTask(Throwable cause) { TaskInfo taskInfo = getTaskInfo(); if (!taskInfo.getState().isDone()) { log.debug(cause, "Remote task failed: %s", taskInfo.getSelf()); } updateTaskInfo(new TaskInfo(taskInfo.getTaskId(), taskInfo.getTaskInstanceId(), TaskInfo.MAX_VERSION, TaskState.FAILED, taskInfo.getSelf(), taskInfo.getLastHeartbeat(), taskInfo.getOutputBuffers(), taskInfo.getNoMoreSplits(), taskInfo.getStats(), ImmutableList.of(toFailure(cause)), taskInfo.isNeedsPlan())); }
taskInfo.getTaskInstanceId(), TaskInfo.MAX_VERSION, TaskState.ABORTED,