kl0u opened a new pull request #13699:
URL: https://github.com/apache/flink/pull/13699
## What is the purpose of the change
Currently in Application Mode when we shutdown the cluster we always clean
up the HA data of a job. This also includes the cases when the job fails due to
a transient error. This behaviour leads to the job not being able to restart
even if HA is activated. This PR fixes the issue by only cleaning up the HA
data when the job has explicitly reported reaching a terminal state (`FAILED`,
`SUCCEEDED`, or `CANCELLED`), and not as a reaction to framework failures or
other issues.
**NOTE TO REVIEWERS:** Maybe in some cases, we would like to not even shut
down the cluster. But I do not think we can find all these cases and filter by
specific exceptions so at least now we can go through the restart process
without problems.
## Brief change log
The changes are split in 3 commits. The main part related to the problem is
in the `ApplicationDispatcherBootstrap.runApplicationAndShutdownClusterAsync()`
but there is also an important part included in the 3rd commit where the
`ApplicationDispatcherBootstrap` only takes the `DispatcherGateway`.
## Verifying this change
This change is already covered by existing tests, such as the tests in the
`ApplicationDispatcherBootstrapTest` that were modified.
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (yes / **no**)
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: (yes / **no**)
- The serializers: (yes / **no** / don't know)
- The runtime per-record code paths (performance sensitive): (yes / **no**
/ don't know)
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / **no** /
don't know)
- The S3 file system connector: (yes / **no** / don't know)
## Documentation
- Does this pull request introduce a new feature? (yes / **no**)
- If yes, how is the feature documented? (**not applicable** / docs /
JavaDocs / not documented)
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]