{"action":"created","issue":{"url":"https://api.github.com/repos/coreos/etcd-operator/issues/518","repository_url":"https://api.github.com/repos/coreos/etcd-operator","labels_url":"https://api.github.com/repos/coreos/etcd-operator/issues/518/labels{/name}","comments_url":"https://api.github.com/repos/coreos/etcd-operator/issues/518/comments","events_url":"https://api.github.com/repos/coreos/etcd-operator/issues/518/events","html_url":"https://github.com/coreos/etcd-operator/issues/518","id":197473967,"number":518,"title":"Designing garbage collector","user":{"login":"hongchaodeng","id":920884,"avatar_url":"https://avatars.githubusercontent.com/u/920884?v=3","gravatar_id":"","url":"https://api.github.com/users/hongchaodeng","html_url":"https://github.com/hongchaodeng","followers_url":"https://api.github.com/users/hongchaodeng/followers","following_url":"https://api.github.com/users/hongchaodeng/following{/other_user}","gists_url":"https://api.github.com/users/hongchaodeng/gists{/gist_id}","starred_url":"https://api.github.com/users/hongchaodeng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hongchaodeng/subscriptions","organizations_url":"https://api.github.com/users/hongchaodeng/orgs","repos_url":"https://api.github.com/users/hongchaodeng/repos","events_url":"https://api.github.com/users/hongchaodeng/events{/privacy}","received_events_url":"https://api.github.com/users/hongchaodeng/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/coreos/etcd-operator/milestones/3","html_url":"https://github.com/coreos/etcd-operator/milestone/3","labels_url":"https://api.github.com/repos/coreos/etcd-operator/milestones/3/labels","id":1946418,"number":3,"title":"0.2 - (beta version)","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":10,"closed_issues":10,"state":"open","created_at":"2016-08-17T03:31:52Z","updated_at":"2016-12-24T19:01:51Z","due_on":"2017-01-16T08:00:00Z","closed_at":null},"comments":2,"created_at":"2016-12-24T18:59:27Z","updated_at":"2016-12-24T19:04:19Z","closed_at":null,"body":"ref:\r\n- https://github.com/coreos/etcd-operator/issues/290\r\n- https://github.com/coreos/etcd-operator/issues/464\r\n- https://github.com/coreos/etcd-operator/issues/500\r\n\r\nWe need a garbage collector to remove pods/services that etcd cluster failed to delete.\r\n\r\nTwo strategies:\r\n- lazy GC: When creating a cluster , remove all potential previous garbage. When deleting a cluster, remove all potential garbage (see https://github.com/coreos/etcd-operator/pull/507#discussion_r93810299)\r\n- periodic full GC (every 10minutes or so): find out all pods/svcs that are parentless -- that doesn't have a managing cluster. For efficiency concern, we can do some caching."},"comment":{"url":"https://api.github.com/repos/coreos/etcd-operator/issues/comments/269096485","html_url":"https://github.com/coreos/etcd-operator/issues/518#issuecomment-269096485","issue_url":"https://api.github.com/repos/coreos/etcd-operator/issues/518","id":269096485,"user":{"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},"created_at":"2016-12-24T19:04:19Z","updated_at":"2016-12-24T19:04:19Z","body":"I am less concerned on the full GC case. A normal operator would manage ~O(10) etcd clusters. The totally selected items with (app=etcd) is at most ~O(100). Finding the orphan items is trivial. \r\n\r\nthere are already other places we do full select. we should optimize all by using reflector for example."}}
{"actor":{"display_login":"xiang90"}}