{"action":"created","issue":{"url":"https://api.github.com/repos/apache/flink/issues/6279","repository_url":"https://api.github.com/repos/apache/flink","labels_url":"https://api.github.com/repos/apache/flink/issues/6279/labels{/name}","comments_url":"https://api.github.com/repos/apache/flink/issues/6279/comments","events_url":"https://api.github.com/repos/apache/flink/issues/6279/events","html_url":"https://github.com/apache/flink/pull/6279","id":339130624,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk5ODg4MTcz","number":6279,"title":"[FLINK-9706] Properly wait for termination of JobManagerRunner before restarting jobs","user":{"login":"tillrohrmann","id":5756858,"node_id":"MDQ6VXNlcjU3NTY4NTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5756858?v=4","gravatar_id":"","url":"https://api.github.com/users/tillrohrmann","html_url":"https://github.com/tillrohrmann","followers_url":"https://api.github.com/users/tillrohrmann/followers","following_url":"https://api.github.com/users/tillrohrmann/following{/other_user}","gists_url":"https://api.github.com/users/tillrohrmann/gists{/gist_id}","starred_url":"https://api.github.com/users/tillrohrmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tillrohrmann/subscriptions","organizations_url":"https://api.github.com/users/tillrohrmann/orgs","repos_url":"https://api.github.com/users/tillrohrmann/repos","events_url":"https://api.github.com/users/tillrohrmann/events{/privacy}","received_events_url":"https://api.github.com/users/tillrohrmann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-07-07T09:03:07Z","updated_at":"2018-07-11T23:22:52Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/apache/flink/pulls/6279","html_url":"https://github.com/apache/flink/pull/6279","diff_url":"https://github.com/apache/flink/pull/6279.diff","patch_url":"https://github.com/apache/flink/pull/6279.patch"},"body":"## What is the purpose of the change\r\n\r\nIn order to avoid race conditions between resource clean up, we now wait for the proper\r\ntermination of a previously running JobMaster responsible for the same job (e.g. originating\r\nfrom a job recovery or a re-submission).\r\n\r\nThis PR also fixes [FLINK-9439](https://issues.apache.org/jira/browse/FLINK-9439).\r\n\r\n## Brief change log\r\n\r\n- Cache per `JobManagerRunner` the termination future\r\n- Before submitting a job wait for the termination of a previously running `JobManagerRunner` responsible for the same `JobID`\r\n\r\n## Verifying this change\r\n\r\n- Added `DispatcherResourceCleanupTest#testJobSubmissionUnderSameJobId` and `DispatcherResourceCleanupTest#testJobRecoveryWithPendingTermination`\r\n- Before `DispatcherTest#testJobRecovery` and `DispatcherTest#testSubmittedJobGraphListener` failed due to not properly waiting for the termination\r\n\r\n## Does this pull request potentially affect one of the following parts:\r\n\r\n  - Dependencies (does it add or upgrade a dependency): (no)\r\n  - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (no)\r\n  - The serializers: (no)\r\n  - The runtime per-record code paths (performance sensitive): (no)\r\n  - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes)\r\n  - The S3 file system connector: (no)\r\n\r\n## Documentation\r\n\r\n  - Does this pull request introduce a new feature? (no)\r\n  - If yes, how is the feature documented? (not applicable)\r\n"},"comment":{"url":"https://api.github.com/repos/apache/flink/issues/comments/404340692","html_url":"https://github.com/apache/flink/pull/6279#issuecomment-404340692","issue_url":"https://api.github.com/repos/apache/flink/issues/6279","id":404340692,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNDM0MDY5Mg==","user":{"login":"tillrohrmann","id":5756858,"node_id":"MDQ6VXNlcjU3NTY4NTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5756858?v=4","gravatar_id":"","url":"https://api.github.com/users/tillrohrmann","html_url":"https://github.com/tillrohrmann","followers_url":"https://api.github.com/users/tillrohrmann/followers","following_url":"https://api.github.com/users/tillrohrmann/following{/other_user}","gists_url":"https://api.github.com/users/tillrohrmann/gists{/gist_id}","starred_url":"https://api.github.com/users/tillrohrmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tillrohrmann/subscriptions","organizations_url":"https://api.github.com/users/tillrohrmann/orgs","repos_url":"https://api.github.com/users/tillrohrmann/repos","events_url":"https://api.github.com/users/tillrohrmann/events{/privacy}","received_events_url":"https://api.github.com/users/tillrohrmann/received_events","type":"User","site_admin":false},"created_at":"2018-07-11T23:22:51Z","updated_at":"2018-07-11T23:22:51Z","author_association":"CONTRIBUTOR","body":"Thanks for the review @GJL. Merging this PR."}}
{"actor":{"display_login":"tillrohrmann"}}