in src/main/java/com/google/cloud/dfmetrics/pipelinemanager/DataflowJobManager.java [280:290]
public ExecutionStatus waitForDurationAndCancelJob() throws IOException {
ExecutionStatus status =
waitUntilCondition(
this.maxTimeOut(),
() -> jobIsDone()); // Waits until either timeout duration is completed or job has moved
// to Done state
if (status == ExecutionStatus.TIMEOUT) {
return cancelJobAndFinish();
}
return status;
}