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;
}
}