Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/6283#discussion_r202304777
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/jobgraph/JobGraph.java ---
@@ -339,12 +339,28 @@ public void
setSnapshotSettings(JobCheckpointingSettings settings) {
* Gets the settings for asynchronous snapshots. This method returns
null, when
* checkpointing is not enabled.
*
- * @return The snapshot settings, or null, if checkpointing is not
enabled.
+ * @return The snapshot settings
*/
public JobCheckpointingSettings getCheckpointingSettings() {
return snapshotSettings;
}
+ /**
+ * Checks if the checkpointing was enabled for this job graph
+ *
+ * @return true if checkpointing enabled
+ */
+ public boolean isCheckpointingEnabled() {
+
+ if (snapshotSettings == null) {
+ return false;
+ }
+
+ long checkpointInterval =
snapshotSettings.getCheckpointCoordinatorConfiguration().getCheckpointInterval();
+ return checkpointInterval > 0 &&
+ checkpointInterval < Long.MAX_VALUE;
--- End diff --
I think technically, we enable checkpointing, meaning creating a
`CheckpointCoordinator`, always iff `snapshotSettings != null`. We could also
say that we check the `CheckpointCoordinator.isPeriodicCheckpointingConfigured`
in order to decide whether checkpointing is enabled. Then we would not need to
introduce this method which could go out of sync with how we define whether
checkpointing is enabled or not. What do you think?
---