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?
---