Skip to content

[FLINK-33186][tests] Re-disable periodic checkpoints in the restored job of CheckpointAfterAllTasksFinishedITCase - #29517

Open
Efrat19 wants to merge 1 commit into
apache:masterfrom
Efrat19:FLINK-33186-b
Open

Efrat19 wants to merge 1 commit into
apache:masterfrom
Efrat19:FLINK-33186-b

Conversation

@Efrat19

@Efrat19 Efrat19 commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

What is the purpose of the change

Fix flakiness in testRestoreAfterSomeTasksFinished caused by periodic checkpointing
The test was originally meant to enable checkpointing with a large interval, so no checkpoint is effectively triggered.
Since FLINK-38939 the coordinator re-schedules the periodic trigger based on mean pause. With the default min pause of 0 a periodic checkpoint fires as soon as all tasks are running.

Brief change log

  • Effectively re-disable periodic checkpointing for the test by increasing minPauseBetweenCheckpoints

Verifying this change

This change is a trivial rework / code cleanup without any test coverage.

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): no
  • The public API, i.e., is any changed class annotated with @Public(Evolving): no
  • The serializers: no
  • The runtime per-record code paths (performance sensitive): no
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? not applicable

Was generative AI tooling used to co-author this PR?
  • Yes (please specify the tool below)

Co-Generated-by: Claude Code (Claude Fable 5.1)

@flinkbot

flinkbot commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

…job of CheckpointAfterAllTasksFinishedITCase

The test was originally meant to enable checkpointing with a large interval,
so no checkpoint is effectively triggered.
Since FLINK-38939 the coordinator re-schedules the periodic trigger
based on mean pause. With the default min pause of 0 a periodic checkpoint fires as
soon as all tasks are running.

That early checkpoint lets the subtasks that were finished on restore
(sourceA, passA -> sinkA) complete and exit immediately. The end-of-data
checkpoint is queued behind it and triggered against a plan that still
lists those subtasks as RUNNING. If one of them reaches FINISHED on the
TaskManager before the trigger arrives, it declines with
CHECKPOINT_DECLINED_TASK_NOT_READY. That reason is ignored by the
CheckpointFailureManager, the end-of-data trigger is not retried, and no
periodic checkpoint follows, so sourceB waits forever in
StreamTask.afterInvoke for a final checkpoint and the passB -> sinkB
subtasks wait for its end-of-partition.

Set the min pause of the restored job to one year, the maximum the
coordinator accepts. The pause gates periodic triggers only, so the
end-of-data checkpoint still fires at once, while every scheduler start
or restart now waits longer than the test can run. All tasks then wait
for the same final checkpoint and none can finish before it is taken,
which removes the race instead of recovering from it.

Generated-by: Claude Code (Claude Fable 5.1)
@Efrat19 Efrat19 changed the title [FLINK-33186][tests] Disable periodic checkpoints in the restored job of CheckpointAfterAllTasksFinishedITCase [FLINK-33186][tests] Re-disable periodic checkpoints in the restored job of CheckpointAfterAllTasksFinishedITCase Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants