{"action":"created","issue":{"url":"https://api.github.com/repos/docker/swarmkit/issues/1939","repository_url":"https://api.github.com/repos/docker/swarmkit","labels_url":"https://api.github.com/repos/docker/swarmkit/issues/1939/labels{/name}","comments_url":"https://api.github.com/repos/docker/swarmkit/issues/1939/comments","events_url":"https://api.github.com/repos/docker/swarmkit/issues/1939/events","html_url":"https://github.com/docker/swarmkit/pull/1939","id":206358991,"number":1939,"title":"raft: Use TransferLeadership to make leader demotion safer","user":{"login":"aaronlehmann","id":10601430,"avatar_url":"https://avatars.githubusercontent.com/u/10601430?v=3","gravatar_id":"","url":"https://api.github.com/users/aaronlehmann","html_url":"https://github.com/aaronlehmann","followers_url":"https://api.github.com/users/aaronlehmann/followers","following_url":"https://api.github.com/users/aaronlehmann/following{/other_user}","gists_url":"https://api.github.com/users/aaronlehmann/gists{/gist_id}","starred_url":"https://api.github.com/users/aaronlehmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaronlehmann/subscriptions","organizations_url":"https://api.github.com/users/aaronlehmann/orgs","repos_url":"https://api.github.com/users/aaronlehmann/repos","events_url":"https://api.github.com/users/aaronlehmann/events{/privacy}","received_events_url":"https://api.github.com/users/aaronlehmann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-02-08T23:32:57Z","updated_at":"2017-02-08T23:42:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/docker/swarmkit/pulls/1939","html_url":"https://github.com/docker/swarmkit/pull/1939","diff_url":"https://github.com/docker/swarmkit/pull/1939.diff","patch_url":"https://github.com/docker/swarmkit/pull/1939.patch"},"body":"When we demote the leader, we currently wait for all queued messages to be sent, as a best-effort approach to making sure the other nodes find out that the node removal has been committed, and stop treating the current leader as a cluster member. This doesn't work perfectly.\r\n\r\nTo make this more robust, use `TransferLeadership` when the leader is trying to remove itself, then call the `Leave` RPC on the new leader once the transfer has completed.\r\n\r\ncc @LK4D4 @cyli"},"comment":{"url":"https://api.github.com/repos/docker/swarmkit/issues/comments/278499818","html_url":"https://github.com/docker/swarmkit/pull/1939#issuecomment-278499818","issue_url":"https://api.github.com/repos/docker/swarmkit/issues/1939","id":278499818,"user":{"login":"codecov-io","id":8655789,"avatar_url":"https://avatars.githubusercontent.com/u/8655789?v=3","gravatar_id":"","url":"https://api.github.com/users/codecov-io","html_url":"https://github.com/codecov-io","followers_url":"https://api.github.com/users/codecov-io/followers","following_url":"https://api.github.com/users/codecov-io/following{/other_user}","gists_url":"https://api.github.com/users/codecov-io/gists{/gist_id}","starred_url":"https://api.github.com/users/codecov-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codecov-io/subscriptions","organizations_url":"https://api.github.com/users/codecov-io/orgs","repos_url":"https://api.github.com/users/codecov-io/repos","events_url":"https://api.github.com/users/codecov-io/events{/privacy}","received_events_url":"https://api.github.com/users/codecov-io/received_events","type":"User","site_admin":false},"created_at":"2017-02-08T23:42:49Z","updated_at":"2017-02-08T23:42:49Z","body":"# [Codecov](https://codecov.io/gh/docker/swarmkit/pull/1939?src=pr&el=h1) Report\n> Merging [#1939](https://codecov.io/gh/docker/swarmkit/pull/1939?src=pr&el=desc) into [master](https://codecov.io/gh/docker/swarmkit/commit/ce8e78ab52f5b474b369b9b2f364e67fcdfe7605?src=pr&el=desc) will **decrease** coverage by `-0.47%`.\n\n\n\n```diff\n@@            Coverage Diff             @@\n##           master    #1939      +/-   ##\n==========================================\n- Coverage   54.51%   54.05%   -0.47%     \n==========================================\n  Files         108      108              \n  Lines       18548    18588      +40     \n==========================================\n- Hits        10112    10048      -64     \n- Misses       7216     7312      +96     \n- Partials     1220     1228       +8\n```\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/docker/swarmkit/pull/1939?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/docker/swarmkit/pull/1939?src=pr&el=footer). Last update [ce8e78a...f7b7644](https://codecov.io/gh/docker/swarmkit/compare/ce8e78ab52f5b474b369b9b2f364e67fcdfe7605...f7b76443e6dec0d7672ef07bfca2196449e3ab61?el=footer&src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments)."}}
{"actor":{"display_login":"codecov-io"}}