Currently for the default failover strategy:
- Stream Job without checkpoint: NoRestartStrategy
- Stream Job with checkpoint: FixDelayRestartStrategy as configured in this method
- Batch Job: NoRestartStrategy
The default failover strategy is reasonable for the stream jobs since without checkpoint, the stream job could not restart without paying high costs. However, for batch jobs, the failover is handled via persisted intermediate result partitions, and users usually expect the batch job could finish normally by default (similar to other batch processing system). Thus it seems to be more reasonable to make the default failover strategy for the batch jobs to be the same the stream job with checkpoint enabled (namely FixDelayRestartStrategy).
Some users are also report the related issues.