Yu Li created FLINK-13593: ----------------------------- Summary: Prevent failing the wrong job in CheckpointFailureManager Key: FLINK-13593 URL: https://issues.apache.org/jira/browse/FLINK-13593 Project: Flink Issue Type: Bug Components: Runtime / Checkpointing Affects Versions: 1.9.0 Reporter: Yu Li Fix For: 1.9.0
Due to the asynchronously handling of checkpoint decline message in {{LegacyScheduler#declineCheckpoint}}, it's possible that the message is handled before job status transition thus {{receiveDeclineMessage}} grabbed the lock in {{CheckpointCoordinator}} before {{pendingCheckpoints}} got cleared by {{stopCheckpointScheduler}} (as triggered by the job status listener {{CheckpointCoordinatorDeActivator}}). And if the job/tasks restarts quickly enough, the {{FailJobCallback}} in {{CheckpointFailureManager}} might unexpectedly fail the job again, as observed in FLINK-13527. To resolve the issue, we need to add a safe guard when failing the job, passing through the {{ExecutionAttemptID}} and checking against the current executions to make sure the to-be-failed one is still running, so we won't fail the newly restarted one by accident. -- This message was sent by Atlassian JIRA (v7.6.14#76016)