[
https://issues.apache.org/jira/browse/FLINK-21999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17314236#comment-17314236
]
ZhangWei commented on FLINK-21999:
----------------------------------
[~trohrmann]
In current implementation, when checkpoint interval is Long.MaxValue.
DefaultExecutionGraphBuilder will assume checkpoint is enabled also and in the
executionGraph returned by DefaultExecutionGraphBuilder#buildGraph, it will set
the related checkpoint configuration. This method will Instantiate a
CheckpointCoordinator.
So when I set the checkpoint enabled condition to also require checkpoint
interval not equal to Long.MaxValue, the CheckpointCoordinator will not be
Instantiated, then OperatorCoordinatorSchedulerTest will fail with
CheckpointCoordinator is null.
In short, current implementation will always Instantiate the
CheckpointCoordinator whenever the interval equals is Long.MaxValue or not. I
am not sure what is the expected behavior.
In addition, I found CheckpointCoordinator#isPeriodicCheckpointingConfigured,
what does period means here? what is the difference between period and not
period then? Is period means regular checkpoint and not period means disable
checkpoint then?
The failed CI tests result can be found below:
https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=16033&view=logs&j=0da23115-68bb-5dcd-192c-bd4c8adebde1&t=05b74a19-4ee4-5036-c46f-ada307df6cf0
> The logic about whether Checkpoint is enabled.
> ----------------------------------------------
>
> Key: FLINK-21999
> URL: https://issues.apache.org/jira/browse/FLINK-21999
> Project: Flink
> Issue Type: Bug
> Components: Runtime / Coordination
> Reporter: ZhangWei
> Assignee: ZhangWei
> Priority: Major
> Labels: pull-request-available
>
> org.apache.flink.runtime.executiongraph.DefaultExecutionGraphBuilder#isCheckpointingEnabled
> assumes checkpoint enabled when JobCheckpointingSettings is not null. While
> this is not enough, we must also guarantee the checkpoint interval is between
> [MINIMAL_CHECKPOINT_TIME, Long.MaxValue). That is like the
> JobGraph#isCheckpointingEnabled does.
> In current implement, when we do not set checkpoint interval, leaving it
> the default value -1, the interval will be changed to Long.MaxValue. Thus
> DefaultExecutionGraphBuilder#isCheckpointingEnabled will return true. That is
> not correct.
> in addition, there are different classes assume checkpoint enabled with
> different interval range.
> 1. CheckpointConfig -> (0,Long.MaxValue*]*.
> 2. JobGraph -> (0,Long.MaxValue)
> This is not consistent. And the correct range is [MINIMAL_CHECKPOINT_TIME,
> Long.MaxValue).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)