{"action":"closed","issue":{"url":"https://api.github.com/repos/coreos/etcd/issues/3215","labels_url":"https://api.github.com/repos/coreos/etcd/issues/3215/labels{/name}","comments_url":"https://api.github.com/repos/coreos/etcd/issues/3215/comments","events_url":"https://api.github.com/repos/coreos/etcd/issues/3215/events","html_url":"https://github.com/coreos/etcd/issues/3215","id":98836489,"number":3215,"title":"proxy fails to work when latency to active member is > 500ms","user":{"login":"yichengq","id":2976232,"avatar_url":"https://avatars.githubusercontent.com/u/2976232?v=3","gravatar_id":"","url":"https://api.github.com/users/yichengq","html_url":"https://github.com/yichengq","followers_url":"https://api.github.com/users/yichengq/followers","following_url":"https://api.github.com/users/yichengq/following{/other_user}","gists_url":"https://api.github.com/users/yichengq/gists{/gist_id}","starred_url":"https://api.github.com/users/yichengq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yichengq/subscriptions","organizations_url":"https://api.github.com/users/yichengq/orgs","repos_url":"https://api.github.com/users/yichengq/repos","events_url":"https://api.github.com/users/yichengq/events{/privacy}","received_events_url":"https://api.github.com/users/yichengq/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/coreos/etcd/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":{"login":"yichengq","id":2976232,"avatar_url":"https://avatars.githubusercontent.com/u/2976232?v=3","gravatar_id":"","url":"https://api.github.com/users/yichengq","html_url":"https://github.com/yichengq","followers_url":"https://api.github.com/users/yichengq/followers","following_url":"https://api.github.com/users/yichengq/following{/other_user}","gists_url":"https://api.github.com/users/yichengq/gists{/gist_id}","starred_url":"https://api.github.com/users/yichengq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yichengq/subscriptions","organizations_url":"https://api.github.com/users/yichengq/orgs","repos_url":"https://api.github.com/users/yichengq/repos","events_url":"https://api.github.com/users/yichengq/events{/privacy}","received_events_url":"https://api.github.com/users/yichengq/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/coreos/etcd/milestones/23","html_url":"https://github.com/coreos/etcd/milestones/v2.2.0","labels_url":"https://api.github.com/repos/coreos/etcd/milestones/23/labels","id":1263861,"number":23,"title":"v2.2.0","description":"","creator":{"login":"xiang90","id":4479947,"avatar_url":"https://avatars.githubusercontent.com/u/4479947?v=3","gravatar_id":"","url":"https://api.github.com/users/xiang90","html_url":"https://github.com/xiang90","followers_url":"https://api.github.com/users/xiang90/followers","following_url":"https://api.github.com/users/xiang90/following{/other_user}","gists_url":"https://api.github.com/users/xiang90/gists{/gist_id}","starred_url":"https://api.github.com/users/xiang90/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiang90/subscriptions","organizations_url":"https://api.github.com/users/xiang90/orgs","repos_url":"https://api.github.com/users/xiang90/repos","events_url":"https://api.github.com/users/xiang90/events{/privacy}","received_events_url":"https://api.github.com/users/xiang90/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":15,"state":"open","created_at":"2015-08-20T04:48:48Z","updated_at":"2015-09-01T16:00:19Z","due_on":"2015-09-11T07:00:00Z","closed_at":null},"comments":2,"created_at":"2015-08-03T20:52:45Z","updated_at":"2015-09-01T16:00:19Z","closed_at":"2015-09-01T16:00:19Z","body":"From Min Ren:\r\n```\r\nHi,\r\n\r\nWe were trying to simulate the environment where our proxy mode node has large latency to connect with active nodes. When we added about 500ms delay, we are seeing this error. \r\n\r\n015/07/31 23:51:49 etcdserver: could not get cluster response from http://10.9.15.193:7001: Get http://10.9.15.193:7001/members: read tcp 10.9.15.193:7001: use of closed network connection\r\n2015/07/31 23:51:49 etcdmain: proxy: could not retrieve cluster information from the given urls\r\n2015/07/31 23:51:50 proxy: zero endpoints currently available\r\n\r\n\r\nWe noticed that there is \"proxy-dial-timeout\" configuration for proxy mode,  which has default 1 sec.  But changing that doesn't make any better. \r\n\r\nThen we look through the code,  and found etcd using hard coded timeout 1sec in this code, \r\n\r\nCould you confirm that this is the reason and why it is hard coded?\r\n\r\n\r\n func getClusterFromRemotePeers(urls []string, logerr bool, tr *http.Transport) (*cluster, error) {\r\n\tcc := &http.Client{\r\n\t\tTransport: tr,\r\n\t\tTimeout:   time.Second,\r\n\t}\r\n\tfor _, u := range urls {\r\n\t\tresp, err := cc.Get(u + \"/members\")\r\n\t\tif err != nil {\r\n\t\t\tif logerr {\r\n\t\t\t\tplog.Warningf(\"could not get cluster response from %s: %v\", u, err)\r\n\t\t\t}\r\n\t\t\tcontinue\r\n\t\t}\r\n```\r\n\r\nIt is a problem in etcd proxy. We are improving the workflow for high-latency enviroment now, and this needs to be fixed too."}}