Github user StephanEwen commented on a diff in the pull request:
https://github.com/apache/flink/pull/1668#discussion_r108034229
--- Diff:
flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/tasks/StreamIterationTail.java
---
@@ -64,6 +70,22 @@ public void init() throws Exception {
super.init();
}
+ @Override
+ protected boolean performCheckpoint(CheckpointMetaData
checkpointMetaData, CheckpointOptions checkpointOptions, CheckpointMetrics
checkpointMetrics) throws Exception {
+ LOG.debug("Starting checkpoint {} on task {}",
checkpointMetaData.getCheckpointId(), getName());
+
+ synchronized (getCheckpointLock()) {
+ if (isRunning()) {
+ dataChannel.put(new Either.Right(new
CheckpointBarrier(checkpointMetaData.getCheckpointId(),
checkpointMetaData.getTimestamp(), checkpointOptions)));
+
getEnvironment().acknowledgeCheckpoint(checkpointMetaData.getCheckpointId(),
checkpointMetrics);
--- End diff --
Can the `IterationTailTask` contain operators as well, or is it always a
task without operators? If it has operators, we cannot immediately acknowledge
here, but need to delegate to superclass checkpoint method instead.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---