public boolean transitionToRunning() { queryStateTimer.beginRunning(); return queryState.setIf(RUNNING, currentState -> currentState.ordinal() < RUNNING.ordinal()); }
private void transitionToFinished() { cleanupQueryQuietly(); queryStateTimer.endQuery(); queryState.setIf(FINISHED, currentState -> !currentState.isDone()); }
public boolean transitionToStarting() { queryStateTimer.beginStarting(); return queryState.setIf(STARTING, currentState -> currentState.ordinal() < STARTING.ordinal()); }
@Override public DateTime getLastHeartbeat() { return getQueryInfo().getQueryStats().getLastHeartbeat(); }
@Override public DateTime getCreateTime() { return getQueryInfo().getQueryStats().getCreateTime(); }
private static boolean isDone(TaskInfo taskInfo) { return taskInfo.getTaskStatus().getState().isDone(); } }
@Override public void start() { taskStateMachine.addStateChangeListener(newValue -> { if (newValue.isDone()) { clearSplits(); } }); }
@Override public void addStateChangeListener(StateChangeListener<TaskStatus> stateChangeListener) { taskStateMachine.addStateChangeListener(newValue -> stateChangeListener.stateChanged(getTaskStatus())); }
public void setNoNewLookups() { if (!grouped) { get(Lifespan.taskWide()).setNoNewLookups(); } }
@Override public synchronized int getQueuedPartitionedSplitCount() { if (taskStateMachine.getState().isDone()) { return 0; } return getPartitionedSplitCount() - runningDrivers; } }
public boolean transitionToPlanning() { queryStateTimer.beginPlanning(); return queryState.setIf(PLANNING, currentState -> currentState.ordinal() < PLANNING.ordinal()); }
public TaskInfo abort() { taskStateMachine.abort(); return getTaskInfo(); }
public boolean transitionToWaitingForResources() { queryStateTimer.beginWaitingForResources(); return queryState.setIf(WAITING_FOR_RESOURCES, currentState -> currentState.ordinal() < WAITING_FOR_RESOURCES.ordinal()); }
@Override public void abort() { taskStateMachine.abort(); clearSplits(); }
private void transitionToFinished() { cleanupQueryQuietly(); queryStateTimer.endQuery(); queryState.setIf(FINISHED, currentState -> !currentState.isDone()); }
@Override public void start() { taskStateMachine.addStateChangeListener(newValue -> { if (newValue.isDone()) { clearSplits(); } }); }
@Override public void addStateChangeListener(StateChangeListener<TaskStatus> stateChangeListener) { taskStateMachine.addStateChangeListener(newValue -> stateChangeListener.stateChanged(getTaskStatus())); }
public boolean transitionToStarting() { queryStateTimer.beginStarting(); return queryState.setIf(STARTING, currentState -> currentState.ordinal() < STARTING.ordinal()); }
public boolean transitionToPlanning() { queryStateTimer.beginPlanning(); return queryState.setIf(PLANNING, currentState -> currentState.ordinal() < PLANNING.ordinal()); }