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?


---

Reply via email to