{"action":"created","comment":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/comments/68421052","id":68421052,"diff_hunk":"@@ -87,7 +87,18 @@ void auto_reconnector_t::try_reconnect(const server_id_t &server,\n     exponential_backoff_t backoff(50, 15 * 1000);\n     try {\n         while (!interruptor.is_pulsed()) {\n-            connectivity_cluster_run->join(last_known_address, join_delay_secs);\n+            join_result_t result =\n+                connectivity_cluster_run->join_blocking(\n+                    last_known_address, boost::none, server,\n+                    join_delay_secs,\n+                    auto_drainer_t::lock_t(&drainer));","path":"src/clustering/administration/servers/auto_reconnect.cc","position":9,"original_position":9,"commit_id":"bd0ae4e554b7188043801615d05bd9b9b927acee","original_commit_id":"bd0ae4e554b7188043801615d05bd9b9b927acee","user":{"login":"mbroadst","id":312966,"avatar_url":"https://avatars.githubusercontent.com/u/312966?v=3","gravatar_id":"","url":"https://api.github.com/users/mbroadst","html_url":"https://github.com/mbroadst","followers_url":"https://api.github.com/users/mbroadst/followers","following_url":"https://api.github.com/users/mbroadst/following{/other_user}","gists_url":"https://api.github.com/users/mbroadst/gists{/gist_id}","starred_url":"https://api.github.com/users/mbroadst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbroadst/subscriptions","organizations_url":"https://api.github.com/users/mbroadst/orgs","repos_url":"https://api.github.com/users/mbroadst/repos","events_url":"https://api.github.com/users/mbroadst/events{/privacy}","received_events_url":"https://api.github.com/users/mbroadst/received_events","type":"User","site_admin":false},"body":"simply removing the guarantee leads to other crazier errors, so I think we have some logical errors in here as well. I'll wait to hear back from you.","created_at":"2016-06-24T16:06:26Z","updated_at":"2016-06-24T16:06:26Z","html_url":"https://github.com/rethinkdb/rethinkdb/pull/5720#discussion_r68421052","pull_request_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/5720","_links":{"self":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/comments/68421052"},"html":{"href":"https://github.com/rethinkdb/rethinkdb/pull/5720#discussion_r68421052"},"pull_request":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/5720"}}},"pull_request":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/5720","id":67893425,"html_url":"https://github.com/rethinkdb/rethinkdb/pull/5720","diff_url":"https://github.com/rethinkdb/rethinkdb/pull/5720.diff","patch_url":"https://github.com/rethinkdb/rethinkdb/pull/5720.patch","issue_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/5720","number":5720,"state":"open","locked":false,"title":"intra-cluster handshake improvements","user":{"login":"mbroadst","id":312966,"avatar_url":"https://avatars.githubusercontent.com/u/312966?v=3","gravatar_id":"","url":"https://api.github.com/users/mbroadst","html_url":"https://github.com/mbroadst","followers_url":"https://api.github.com/users/mbroadst/followers","following_url":"https://api.github.com/users/mbroadst/following{/other_user}","gists_url":"https://api.github.com/users/mbroadst/gists{/gist_id}","starred_url":"https://api.github.com/users/mbroadst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbroadst/subscriptions","organizations_url":"https://api.github.com/users/mbroadst/orgs","repos_url":"https://api.github.com/users/mbroadst/repos","events_url":"https://api.github.com/users/mbroadst/events{/privacy}","received_events_url":"https://api.github.com/users/mbroadst/received_events","type":"User","site_admin":false},"body":"This is a series of patches that aim to improve intra-cluster connections. This is primarily achieved by the following:\r\n\r\n- Introduce a `join_result_t` enum in order to return meaningful results from `connectivity_cluster_t::run_t::join_blocking`. This allows for enabling certain behaviors based on that reuslt.\r\n\r\n- One of those aforementioned behaviors is to stop retrying intra-cluster reconnects in the `auto_reconector_t` if a join has failed irrecoverably (a `join_result_t::PERMANENT_ERROR`) \r\n\r\n- Finally, a new `PERMANENT_ERROR` was introduced in the `run_t::handle` method: if an expected server id is provided, and the remote server's id does not equal that value upon initial handshake, then that will prevent further reconnects.\r\n\r\n/cc @danielmewes ","created_at":"2016-04-26T14:16:12Z","updated_at":"2016-06-24T16:06:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b4b85f323e77f0723dc94065cda082a87de7e7e4","assignee":{"login":"danielmewes","id":505365,"avatar_url":"https://avatars.githubusercontent.com/u/505365?v=3","gravatar_id":"","url":"https://api.github.com/users/danielmewes","html_url":"https://github.com/danielmewes","followers_url":"https://api.github.com/users/danielmewes/followers","following_url":"https://api.github.com/users/danielmewes/following{/other_user}","gists_url":"https://api.github.com/users/danielmewes/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmewes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmewes/subscriptions","organizations_url":"https://api.github.com/users/danielmewes/orgs","repos_url":"https://api.github.com/users/danielmewes/repos","events_url":"https://api.github.com/users/danielmewes/events{/privacy}","received_events_url":"https://api.github.com/users/danielmewes/received_events","type":"User","site_admin":false},"assignees":[{"login":"danielmewes","id":505365,"avatar_url":"https://avatars.githubusercontent.com/u/505365?v=3","gravatar_id":"","url":"https://api.github.com/users/danielmewes","html_url":"https://github.com/danielmewes","followers_url":"https://api.github.com/users/danielmewes/followers","following_url":"https://api.github.com/users/danielmewes/following{/other_user}","gists_url":"https://api.github.com/users/danielmewes/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmewes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmewes/subscriptions","organizations_url":"https://api.github.com/users/danielmewes/orgs","repos_url":"https://api.github.com/users/danielmewes/repos","events_url":"https://api.github.com/users/danielmewes/events{/privacy}","received_events_url":"https://api.github.com/users/danielmewes/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones/120","html_url":"https://github.com/rethinkdb/rethinkdb/milestones/2.4","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones/120/labels","id":1690485,"number":120,"title":"2.4","description":"","creator":{"login":"danielmewes","id":505365,"avatar_url":"https://avatars.githubusercontent.com/u/505365?v=3","gravatar_id":"","url":"https://api.github.com/users/danielmewes","html_url":"https://github.com/danielmewes","followers_url":"https://api.github.com/users/danielmewes/followers","following_url":"https://api.github.com/users/danielmewes/following{/other_user}","gists_url":"https://api.github.com/users/danielmewes/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmewes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmewes/subscriptions","organizations_url":"https://api.github.com/users/danielmewes/orgs","repos_url":"https://api.github.com/users/danielmewes/repos","events_url":"https://api.github.com/users/danielmewes/events{/privacy}","received_events_url":"https://api.github.com/users/danielmewes/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":4,"state":"open","created_at":"2016-04-07T18:34:44Z","updated_at":"2016-06-06T19:07:06Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/5720/commits","review_comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/5720/comments","review_comment_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/5720/comments","statuses_url":"https://api.github.com/repos/rethinkdb/rethinkdb/statuses/bd0ae4e554b7188043801615d05bd9b9b927acee","head":{"label":"mbroadst:stop-reconnect-unknown-sid","ref":"stop-reconnect-unknown-sid","sha":"bd0ae4e554b7188043801615d05bd9b9b927acee","user":{"login":"mbroadst","id":312966,"avatar_url":"https://avatars.githubusercontent.com/u/312966?v=3","gravatar_id":"","url":"https://api.github.com/users/mbroadst","html_url":"https://github.com/mbroadst","followers_url":"https://api.github.com/users/mbroadst/followers","following_url":"https://api.github.com/users/mbroadst/following{/other_user}","gists_url":"https://api.github.com/users/mbroadst/gists{/gist_id}","starred_url":"https://api.github.com/users/mbroadst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbroadst/subscriptions","organizations_url":"https://api.github.com/users/mbroadst/orgs","repos_url":"https://api.github.com/users/mbroadst/repos","events_url":"https://api.github.com/users/mbroadst/events{/privacy}","received_events_url":"https://api.github.com/users/mbroadst/received_events","type":"User","site_admin":false},"repo":{"id":55924709,"name":"rethinkdb","full_name":"mbroadst/rethinkdb","owner":{"login":"mbroadst","id":312966,"avatar_url":"https://avatars.githubusercontent.com/u/312966?v=3","gravatar_id":"","url":"https://api.github.com/users/mbroadst","html_url":"https://github.com/mbroadst","followers_url":"https://api.github.com/users/mbroadst/followers","following_url":"https://api.github.com/users/mbroadst/following{/other_user}","gists_url":"https://api.github.com/users/mbroadst/gists{/gist_id}","starred_url":"https://api.github.com/users/mbroadst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbroadst/subscriptions","organizations_url":"https://api.github.com/users/mbroadst/orgs","repos_url":"https://api.github.com/users/mbroadst/repos","events_url":"https://api.github.com/users/mbroadst/events{/privacy}","received_events_url":"https://api.github.com/users/mbroadst/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mbroadst/rethinkdb","description":"The open-source database for the realtime web.","fork":true,"url":"https://api.github.com/repos/mbroadst/rethinkdb","forks_url":"https://api.github.com/repos/mbroadst/rethinkdb/forks","keys_url":"https://api.github.com/repos/mbroadst/rethinkdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mbroadst/rethinkdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mbroadst/rethinkdb/teams","hooks_url":"https://api.github.com/repos/mbroadst/rethinkdb/hooks","issue_events_url":"https://api.github.com/repos/mbroadst/rethinkdb/issues/events{/number}","events_url":"https://api.github.com/repos/mbroadst/rethinkdb/events","assignees_url":"https://api.github.com/repos/mbroadst/rethinkdb/assignees{/user}","branches_url":"https://api.github.com/repos/mbroadst/rethinkdb/branches{/branch}","tags_url":"https://api.github.com/repos/mbroadst/rethinkdb/tags","blobs_url":"https://api.github.com/repos/mbroadst/rethinkdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mbroadst/rethinkdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mbroadst/rethinkdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/mbroadst/rethinkdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mbroadst/rethinkdb/statuses/{sha}","languages_url":"https://api.github.com/repos/mbroadst/rethinkdb/languages","stargazers_url":"https://api.github.com/repos/mbroadst/rethinkdb/stargazers","contributors_url":"https://api.github.com/repos/mbroadst/rethinkdb/contributors","subscribers_url":"https://api.github.com/repos/mbroadst/rethinkdb/subscribers","subscription_url":"https://api.github.com/repos/mbroadst/rethinkdb/subscription","commits_url":"https://api.github.com/repos/mbroadst/rethinkdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/mbroadst/rethinkdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/mbroadst/rethinkdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/mbroadst/rethinkdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/mbroadst/rethinkdb/contents/{+path}","compare_url":"https://api.github.com/repos/mbroadst/rethinkdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mbroadst/rethinkdb/merges","archive_url":"https://api.github.com/repos/mbroadst/rethinkdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mbroadst/rethinkdb/downloads","issues_url":"https://api.github.com/repos/mbroadst/rethinkdb/issues{/number}","pulls_url":"https://api.github.com/repos/mbroadst/rethinkdb/pulls{/number}","milestones_url":"https://api.github.com/repos/mbroadst/rethinkdb/milestones{/number}","notifications_url":"https://api.github.com/repos/mbroadst/rethinkdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mbroadst/rethinkdb/labels{/name}","releases_url":"https://api.github.com/repos/mbroadst/rethinkdb/releases{/id}","deployments_url":"https://api.github.com/repos/mbroadst/rethinkdb/deployments","created_at":"2016-04-10T21:58:38Z","updated_at":"2016-04-10T21:58:49Z","pushed_at":"2016-06-23T23:08:45Z","git_url":"git://github.com/mbroadst/rethinkdb.git","ssh_url":"git@github.com:mbroadst/rethinkdb.git","clone_url":"https://github.com/mbroadst/rethinkdb.git","svn_url":"https://github.com/mbroadst/rethinkdb","homepage":"http://rethinkdb.com","size":131668,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"next"}},"base":{"label":"rethinkdb:next","ref":"next","sha":"bb280b522bc55ce9bdfb70c4c739447dc0927a2e","user":{"login":"rethinkdb","id":1229647,"avatar_url":"https://avatars.githubusercontent.com/u/1229647?v=3","gravatar_id":"","url":"https://api.github.com/users/rethinkdb","html_url":"https://github.com/rethinkdb","followers_url":"https://api.github.com/users/rethinkdb/followers","following_url":"https://api.github.com/users/rethinkdb/following{/other_user}","gists_url":"https://api.github.com/users/rethinkdb/gists{/gist_id}","starred_url":"https://api.github.com/users/rethinkdb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rethinkdb/subscriptions","organizations_url":"https://api.github.com/users/rethinkdb/orgs","repos_url":"https://api.github.com/users/rethinkdb/repos","events_url":"https://api.github.com/users/rethinkdb/events{/privacy}","received_events_url":"https://api.github.com/users/rethinkdb/received_events","type":"Organization","site_admin":false},"repo":{"id":6452529,"name":"rethinkdb","full_name":"rethinkdb/rethinkdb","owner":{"login":"rethinkdb","id":1229647,"avatar_url":"https://avatars.githubusercontent.com/u/1229647?v=3","gravatar_id":"","url":"https://api.github.com/users/rethinkdb","html_url":"https://github.com/rethinkdb","followers_url":"https://api.github.com/users/rethinkdb/followers","following_url":"https://api.github.com/users/rethinkdb/following{/other_user}","gists_url":"https://api.github.com/users/rethinkdb/gists{/gist_id}","starred_url":"https://api.github.com/users/rethinkdb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rethinkdb/subscriptions","organizations_url":"https://api.github.com/users/rethinkdb/orgs","repos_url":"https://api.github.com/users/rethinkdb/repos","events_url":"https://api.github.com/users/rethinkdb/events{/privacy}","received_events_url":"https://api.github.com/users/rethinkdb/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rethinkdb/rethinkdb","description":"The open-source database for the realtime web.","fork":false,"url":"https://api.github.com/repos/rethinkdb/rethinkdb","forks_url":"https://api.github.com/repos/rethinkdb/rethinkdb/forks","keys_url":"https://api.github.com/repos/rethinkdb/rethinkdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rethinkdb/rethinkdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rethinkdb/rethinkdb/teams","hooks_url":"https://api.github.com/repos/rethinkdb/rethinkdb/hooks","issue_events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/events{/number}","events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/events","assignees_url":"https://api.github.com/repos/rethinkdb/rethinkdb/assignees{/user}","branches_url":"https://api.github.com/repos/rethinkdb/rethinkdb/branches{/branch}","tags_url":"https://api.github.com/repos/rethinkdb/rethinkdb/tags","blobs_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rethinkdb/rethinkdb/statuses/{sha}","languages_url":"https://api.github.com/repos/rethinkdb/rethinkdb/languages","stargazers_url":"https://api.github.com/repos/rethinkdb/rethinkdb/stargazers","contributors_url":"https://api.github.com/repos/rethinkdb/rethinkdb/contributors","subscribers_url":"https://api.github.com/repos/rethinkdb/rethinkdb/subscribers","subscription_url":"https://api.github.com/repos/rethinkdb/rethinkdb/subscription","commits_url":"https://api.github.com/repos/rethinkdb/rethinkdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/rethinkdb/rethinkdb/contents/{+path}","compare_url":"https://api.github.com/repos/rethinkdb/rethinkdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rethinkdb/rethinkdb/merges","archive_url":"https://api.github.com/repos/rethinkdb/rethinkdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rethinkdb/rethinkdb/downloads","issues_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues{/number}","pulls_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls{/number}","milestones_url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones{/number}","notifications_url":"https://api.github.com/repos/rethinkdb/rethinkdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels{/name}","releases_url":"https://api.github.com/repos/rethinkdb/rethinkdb/releases{/id}","deployments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/deployments","created_at":"2012-10-30T05:37:47Z","updated_at":"2016-06-24T13:07:02Z","pushed_at":"2016-06-24T03:41:13Z","git_url":"git://github.com/rethinkdb/rethinkdb.git","ssh_url":"git@github.com:rethinkdb/rethinkdb.git","clone_url":"https://github.com/rethinkdb/rethinkdb.git","svn_url":"https://github.com/rethinkdb/rethinkdb","homepage":"http://rethinkdb.com","size":446805,"stargazers_count":14346,"watchers_count":14346,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1121,"mirror_url":null,"open_issues_count":1320,"forks":1121,"open_issues":1320,"watchers":14346,"default_branch":"next"}},"_links":{"self":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/5720"},"html":{"href":"https://github.com/rethinkdb/rethinkdb/pull/5720"},"issue":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/5720"},"comments":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/5720/comments"},"review_comments":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/5720/comments"},"review_comment":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/5720/commits"},"statuses":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/statuses/bd0ae4e554b7188043801615d05bd9b9b927acee"}}}}
{"actor":{"display_login":"mbroadst"}}