{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/9917","labels_url":"https://api.github.com/repos/apache/spark/issues/9917/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/9917/comments","events_url":"https://api.github.com/repos/apache/spark/issues/9917/events","html_url":"https://github.com/apache/spark/pull/9917","id":118486286,"number":9917,"title":"[SPARK-11866] [network] [core] Make sure timed out RPCs are cleaned up.","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":3,"created_at":"2015-11-23T22:19:52Z","updated_at":"2015-11-24T03:04:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/9917","html_url":"https://github.com/apache/spark/pull/9917","diff_url":"https://github.com/apache/spark/pull/9917.diff","patch_url":"https://github.com/apache/spark/pull/9917.patch"},"body":"This change does a couple of different things to make sure that the RpcEnv-level\r\ncode and the network library agree about the status of outstanding RPCs.\r\n\r\nFor RPCs that do not expect a reply (\"RpcEnv.send\"), support for one way\r\nmessages (hello CORBA!) was added to the network layer. This is a\r\n\"fire and forget\" message that does not require any state to be kept\r\nby the TransportClient; as a result, the RpcEnv 'Ack' message is not needed\r\nanymore.\r\n\r\nFor RPCs that do expect a reply (\"RpcEnv.ask\"), the network library now\r\nreturns the internal RPC id; if the RpcEnv layer decides to time out the\r\nRPC before the network layer does, it now asks the TransportClient to\r\nforget about the RPC, so that if the network-level timeout occurs, the\r\nclient is not killed.\r\n\r\nAs part of implementing the above, I cleaned up some of the code in the\r\nnetty rpc backend, removing types that were not necessary and factoring\r\nout some common code. Of interest is a slight change in the exceptions\r\nwhen posting messages to a stopped RpcEnv; that's mostly to avoid nasty\r\nerror messages from the local-cluster backend when shutting down, which\r\npollutes the terminal output."},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/159137841","html_url":"https://github.com/apache/spark/pull/9917#issuecomment-159137841","issue_url":"https://api.github.com/repos/apache/spark/issues/9917","id":159137841,"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},"created_at":"2015-11-24T03:04:13Z","updated_at":"2015-11-24T03:04:13Z","body":"retest this please"}}