{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/7052","labels_url":"https://api.github.com/repos/apache/spark/issues/7052/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/7052/comments","events_url":"https://api.github.com/repos/apache/spark/issues/7052/events","html_url":"https://github.com/apache/spark/pull/7052","id":91389407,"number":7052,"title":"[SPARK-8673] [launcher] API and infrastructure for communicating with child apps.","user":{"login":"vanzin","id":1694083,"avatar_url":"https://avatars.githubusercontent.com/u/1694083?v=3","gravatar_id":"","url":"https://api.github.com/users/vanzin","html_url":"https://github.com/vanzin","followers_url":"https://api.github.com/users/vanzin/followers","following_url":"https://api.github.com/users/vanzin/following{/other_user}","gists_url":"https://api.github.com/users/vanzin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanzin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanzin/subscriptions","organizations_url":"https://api.github.com/users/vanzin/orgs","repos_url":"https://api.github.com/users/vanzin/repos","events_url":"https://api.github.com/users/vanzin/events{/privacy}","received_events_url":"https://api.github.com/users/vanzin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":42,"created_at":"2015-06-27T00:06:36Z","updated_at":"2015-09-29T21:18:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/7052","html_url":"https://github.com/apache/spark/pull/7052","diff_url":"https://github.com/apache/spark/pull/7052.diff","patch_url":"https://github.com/apache/spark/pull/7052.patch"},"body":"This change adds an API that encapsulates information about an app\r\nlaunched using the library. It also creates a socket-based communication\r\nlayer for apps that are launched as child processes; the launching\r\napplication listens for connections from launched apps, and once\r\ncommunication is established, the channel can be used to send updates\r\nto the launching app, or to send commands to the child app.\r\n\r\nThe change also includes hooks for local, standalone/client and yarn\r\nmasters."},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/144194266","html_url":"https://github.com/apache/spark/pull/7052#issuecomment-144194266","issue_url":"https://api.github.com/repos/apache/spark/issues/7052","id":144194266,"user":{"login":"SparkQA","id":8108735,"avatar_url":"https://avatars.githubusercontent.com/u/8108735?v=3","gravatar_id":"","url":"https://api.github.com/users/SparkQA","html_url":"https://github.com/SparkQA","followers_url":"https://api.github.com/users/SparkQA/followers","following_url":"https://api.github.com/users/SparkQA/following{/other_user}","gists_url":"https://api.github.com/users/SparkQA/gists{/gist_id}","starred_url":"https://api.github.com/users/SparkQA/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SparkQA/subscriptions","organizations_url":"https://api.github.com/users/SparkQA/orgs","repos_url":"https://api.github.com/users/SparkQA/repos","events_url":"https://api.github.com/users/SparkQA/events{/privacy}","received_events_url":"https://api.github.com/users/SparkQA/received_events","type":"User","site_admin":false},"created_at":"2015-09-29T21:18:42Z","updated_at":"2015-09-29T21:18:42Z","body":"  [Test build #43098 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43098/console) for   PR 7052 at commit [`a582e12`](https://github.com/apache/spark/commit/a582e12c50383070c474cbab102699679a62e757).\n * This patch **passes all tests**.\n * This patch merges cleanly.\n * This patch adds the following public classes _(experimental)_:\n  * `class ChildProcAppHandle implements SparkAppHandle `\n  * `abstract class LauncherConnection implements Closeable, Runnable `\n  * `final class LauncherProtocol `\n  * `  static class Message implements Serializable `\n  * `  static class Hello extends Message `\n  * `  static class SetAppId extends Message `\n  * `  static class SetState extends Message `\n  * `  static class Stop extends Message `\n  * `class LauncherServer implements Closeable `\n  * `class NamedThreadFactory implements ThreadFactory `\n  * `class OutputRedirector `\n"}}