Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.19.0, 1.18.1
-
None
Description
The DefaultExecutionGraphBuilder will call
isCheckpointingEnabled(JobGraph jobGraph)
to determine whether the job has enabled Checkpoint and whether to initialize CheckpointCoordinator related components such as CheckpointCoordinator, CheckpointIDCounter , etc.
// DefaultExecutionGraphBuilder#isCheckpointingEnabled public static boolean isCheckpointingEnabled(JobGraph jobGraph) { return jobGraph.isCheckpointingEnabled(); }
The problem is that the logic for determining isCheckpointingEnable here is inaccurate, as jobGraph. getCheckpointingSettings() will not be NULL when checkpoint is not enabled, but with CheckpointCoordinatorConfiguration.DISABLED_CHECKPOINT_INTERVAL Interval
// JobGraph#isCheckpointingEnabled public boolean isCheckpointingEnabled() { if (snapshotSettings == null) { return false; } return snapshotSettings.getCheckpointCoordinatorConfiguration().isCheckpointingEnabled(); }
The method to fix this problem is also quite clear. We need to directly reuse the result of jobGraph.isCheckpointingEnable() here
Attachments
Issue Links
- links to