{"action":"created","issue":{"url":"https://api.github.com/repos/coreos/etcd/issues/3669","labels_url":"https://api.github.com/repos/coreos/etcd/issues/3669/labels{/name}","comments_url":"https://api.github.com/repos/coreos/etcd/issues/3669/comments","events_url":"https://api.github.com/repos/coreos/etcd/issues/3669/events","html_url":"https://github.com/coreos/etcd/issues/3669","id":111106584,"number":3669,"title":"Can I judge a member is isolated from the cluster based on Self Statistics?","user":{"login":"mqliang","id":12423751,"avatar_url":"https://avatars.githubusercontent.com/u/12423751?v=3","gravatar_id":"","url":"https://api.github.com/users/mqliang","html_url":"https://github.com/mqliang","followers_url":"https://api.github.com/users/mqliang/followers","following_url":"https://api.github.com/users/mqliang/following{/other_user}","gists_url":"https://api.github.com/users/mqliang/gists{/gist_id}","starred_url":"https://api.github.com/users/mqliang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mqliang/subscriptions","organizations_url":"https://api.github.com/users/mqliang/orgs","repos_url":"https://api.github.com/users/mqliang/repos","events_url":"https://api.github.com/users/mqliang/events{/privacy}","received_events_url":"https://api.github.com/users/mqliang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-13T05:20:04Z","updated_at":"2015-10-13T07:35:06Z","closed_at":null,"body":"If my client connected to a etcd member, but unfortunately it is isolated from the cluster, then the client may retrieve outdated data. As we all know, we can get a number of internal statistics by run:\r\n```sh\r\ncurl http//hostip:2379/v2/ststs/self\r\n```\r\nIt seems that `recvAppendRequestCnt` and `sendAppendRequestCnt` will never change if the member is isolated from the cluster. On the other hand, those two number will change frequently if the member is healthy. Can we judge whether a member is isolated based on those information? If we can, what is the change frequency of those two numbesr?"},"comment":{"url":"https://api.github.com/repos/coreos/etcd/issues/comments/147630595","html_url":"https://github.com/coreos/etcd/issues/3669#issuecomment-147630595","issue_url":"https://api.github.com/repos/coreos/etcd/issues/3669","id":147630595,"user":{"login":"mqliang","id":12423751,"avatar_url":"https://avatars.githubusercontent.com/u/12423751?v=3","gravatar_id":"","url":"https://api.github.com/users/mqliang","html_url":"https://github.com/mqliang","followers_url":"https://api.github.com/users/mqliang/followers","following_url":"https://api.github.com/users/mqliang/following{/other_user}","gists_url":"https://api.github.com/users/mqliang/gists{/gist_id}","starred_url":"https://api.github.com/users/mqliang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mqliang/subscriptions","organizations_url":"https://api.github.com/users/mqliang/orgs","repos_url":"https://api.github.com/users/mqliang/repos","events_url":"https://api.github.com/users/mqliang/events{/privacy}","received_events_url":"https://api.github.com/users/mqliang/received_events","type":"User","site_admin":false},"created_at":"2015-10-13T07:35:06Z","updated_at":"2015-10-13T07:35:06Z","body":"It seems that the experimental `health` endpoint is available after release 2.1.0. Unfortunately, we use v2.0\r\n\r\nBTW, I read the implementation of command `etcdctl cluster-health` in v2.0, but the method it used is not stable, there are three possible response we can get if a member is isolated:\r\n* cluster is unhealthy\r\n* cluster may be unhealthy: failed to connect \r\n* cluster is healthy:  member XXX is healthy; healthy YYY is unhealthy, etc\r\n\r\nIs there any method can return a stable and definite response? Is my idea which based on `recvAppendRequestCnt` and `sendAppendRequestCntidea` feasible?"}}