private boolean jobIsDoneOrFinishing()

in src/main/java/com/google/cloud/dfmetrics/pipelinemanager/DataflowJobManager.java [390:405]


  private boolean jobIsDoneOrFinishing() {
    try {
      JobState state = getLatestJobState();
      LOG.info("Job {} is in state {}", job().getId(), state);
      if (JobState.FAILED_STATES.contains(state)) {
        throw new RuntimeException(
            String.format(
                "Job ID %s under %s failed. Please check cloud console for more details.",
                job().getId(), job().getProjectId()));
      }
      return JobState.DONE_STATES.contains(state) || JobState.FINISHING_STATES.contains(state);
    } catch (IOException e) {
      LOG.error("Failed to get current job state. Assuming not done.", e);
      return false;
    }
  }