{"action":"created","issue":{"url":"https://api.github.com/repos/osheroff/ar_mysql_flexmaster/issues/17","labels_url":"https://api.github.com/repos/osheroff/ar_mysql_flexmaster/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/osheroff/ar_mysql_flexmaster/issues/17/comments","events_url":"https://api.github.com/repos/osheroff/ar_mysql_flexmaster/issues/17/events","html_url":"https://github.com/osheroff/ar_mysql_flexmaster/pull/17","id":55818664,"number":17,"title":"retry connections with a lower timeout to harden against dropped hostname lookups","user":{"login":"gabetax","id":149842,"avatar_url":"https://avatars.githubusercontent.com/u/149842?v=3","gravatar_id":"","url":"https://api.github.com/users/gabetax","html_url":"https://github.com/gabetax","followers_url":"https://api.github.com/users/gabetax/followers","following_url":"https://api.github.com/users/gabetax/following{/other_user}","gists_url":"https://api.github.com/users/gabetax/gists{/gist_id}","starred_url":"https://api.github.com/users/gabetax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gabetax/subscriptions","organizations_url":"https://api.github.com/users/gabetax/orgs","repos_url":"https://api.github.com/users/gabetax/repos","events_url":"https://api.github.com/users/gabetax/events{/privacy}","received_events_url":"https://api.github.com/users/gabetax/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-01-28T21:31:18Z","updated_at":"2015-01-29T21:35:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/osheroff/ar_mysql_flexmaster/pulls/17","html_url":"https://github.com/osheroff/ar_mysql_flexmaster/pull/17","diff_url":"https://github.com/osheroff/ar_mysql_flexmaster/pull/17.diff","patch_url":"https://github.com/osheroff/ar_mysql_flexmaster/pull/17.patch"},"body":"resolv.conf has a default timeout of 5 seconds before it re-requests queries. Currently if the packet to lookup a database's hostname is dropped, flexmaster's own connection timeout will raise before the resolver can re-request a lookup. This change subverts the system timeout by lifting a lower timeout and retry logic from the system into flexmaster itself, which gives you resolution timeout control in scenarios where resolv.conf is out of your control.\r\n\r\nWe could alternatively raise the timeout above the system default (e.g. 6 seconds), but this would be slightly slower.\r\n\r\n/cc @osheroff @yadavsaroj"},"comment":{"url":"https://api.github.com/repos/osheroff/ar_mysql_flexmaster/issues/comments/72108810","html_url":"https://github.com/osheroff/ar_mysql_flexmaster/pull/17#issuecomment-72108810","issue_url":"https://api.github.com/repos/osheroff/ar_mysql_flexmaster/issues/17","id":72108810,"user":{"login":"osheroff","id":260084,"avatar_url":"https://avatars.githubusercontent.com/u/260084?v=3","gravatar_id":"","url":"https://api.github.com/users/osheroff","html_url":"https://github.com/osheroff","followers_url":"https://api.github.com/users/osheroff/followers","following_url":"https://api.github.com/users/osheroff/following{/other_user}","gists_url":"https://api.github.com/users/osheroff/gists{/gist_id}","starred_url":"https://api.github.com/users/osheroff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/osheroff/subscriptions","organizations_url":"https://api.github.com/users/osheroff/orgs","repos_url":"https://api.github.com/users/osheroff/repos","events_url":"https://api.github.com/users/osheroff/events{/privacy}","received_events_url":"https://api.github.com/users/osheroff/received_events","type":"User","site_admin":false},"created_at":"2015-01-29T21:35:29Z","updated_at":"2015-01-29T21:35:29Z","body":"test would be nice, but at your discretion.  :+1: , lmk if I should merge."}}