in controllers/flinkcluster/flinkcluster_observer.go [110:127]
func (s *FlinkJobSubmitter) getState() JobSubmitState {
switch {
case s.log != nil && s.log.jobID != "":
return JobDeployStateSucceeded
// Job ID not found cases:
// Failed and job ID not found.
case s.job != nil && s.job.Status.Failed > 0:
return JobDeployStateFailed
// Ongoing job submission.
case s.job != nil && s.job.Status.Succeeded == 0 && s.job.Status.Failed == 0:
fallthrough
// Finished, but failed to extract log.
case s.log == nil:
return JobDeployStateInProgress
}
// Abnormal case: successfully finished but job ID not found.
return JobDeployStateUnknown
}