import static com.facebook.presto.util.ImmutableCollectors.toImmutableSet;
import static com.google.common.base.Preconditions.checkArgument;
Stage is planned but has not been scheduled yet. A stage will
be in the planned state until, the dependencies of the stage
have begun producing output.
Stage tasks are being scheduled on nodes.
Stage has been scheduled on nodes and ready to execute, but all tasks are still queued.
Stage has finished executing and all output has been consumed.
Stage was canceled by a user.
Stage was aborted due to a failure in the query. The failure
was not in this stage.
StageState(boolean doneState, boolean failureState)
Is this a terminal state.
Is this a non-success terminal state.