Currently, the Yarn and Kubernetes application in attach mode could not terminate the Flink cluster after the only job is canceled. Because we are throwing ApplicationExecutionException in ApplicationDispatcherBootstrap#runApplicationEntryPoint. However, we are only checking ApplicationFailureException in runApplicationAndShutdownClusterAsync. Then we will go to fatal error handler which make the jobmanager directly exits. And it has no chance to deregister itself to the cluster manager(Yarn/Kubernetes). That means the jobmanager will be relaunched by cluster manager again and again until it exhausts the retry attempts.
cc Kostas Kloudas, I am not sure is this an expected change? I think it could work in 1.11.