{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22061","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22061/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22061/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22061/events","html_url":"https://github.com/kubernetes/kubernetes/issues/22061","id":136734168,"number":22061,"title":"Revisit use of expectations in controllers","user":{"login":"bgrant0607","id":7725777,"avatar_url":"https://avatars.githubusercontent.com/u/7725777?v=3","gravatar_id":"","url":"https://api.github.com/users/bgrant0607","html_url":"https://github.com/bgrant0607","followers_url":"https://api.github.com/users/bgrant0607/followers","following_url":"https://api.github.com/users/bgrant0607/following{/other_user}","gists_url":"https://api.github.com/users/bgrant0607/gists{/gist_id}","starred_url":"https://api.github.com/users/bgrant0607/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgrant0607/subscriptions","organizations_url":"https://api.github.com/users/bgrant0607/orgs","repos_url":"https://api.github.com/users/bgrant0607/repos","events_url":"https://api.github.com/users/bgrant0607/events{/privacy}","received_events_url":"https://api.github.com/users/bgrant0607/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/area/app-config-deployment","name":"area/app-config-deployment","color":"fb6420"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/priority/P2","name":"priority/P2","color":"fbca04"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/team/control-plane","name":"team/control-plane","color":"d2b48c"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/team/ux","name":"team/ux","color":"d2b48c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-02-26T15:54:34Z","updated_at":"2016-05-18T07:22:22Z","closed_at":null,"body":"Esp. the Deployment controller.\r\n\r\nWhen working on #21963 and #19299 we discovered a lot of suspect behavior in the expectation behavior.\r\n\r\nExpectations are supposed to be used to await previous controller actions to be seen in watch.\r\n\r\nHowever, there appear to be a number of issues:\r\n\r\n* Can't distinguish unexpected events from controller actions. For RC and RS, in theory the pods are fungible, but actually they aren't, since they differ in availability (pending vs. running, crashing, readiness, ready time, etc.). For Deployment, they aren't fungible, since they can also be different versions.\r\n* Deletes appear to show up late and maybe are sometimes double-counted\r\n* The Deployment controller is reliant on expiration of the expectations in order to function\r\n* RC and RS may have erratic behavior now that they don't use expiration -- we may need to do something similar to what was done in Deployment\r\n\r\ncc @bprashanth @mqliang @janetkuo @madhusudancs @kargakis @nikhiljindal "},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/219946485","html_url":"https://github.com/kubernetes/kubernetes/issues/22061#issuecomment-219946485","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22061","id":219946485,"user":{"login":"bgrant0607","id":7725777,"avatar_url":"https://avatars.githubusercontent.com/u/7725777?v=3","gravatar_id":"","url":"https://api.github.com/users/bgrant0607","html_url":"https://github.com/bgrant0607","followers_url":"https://api.github.com/users/bgrant0607/followers","following_url":"https://api.github.com/users/bgrant0607/following{/other_user}","gists_url":"https://api.github.com/users/bgrant0607/gists{/gist_id}","starred_url":"https://api.github.com/users/bgrant0607/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgrant0607/subscriptions","organizations_url":"https://api.github.com/users/bgrant0607/orgs","repos_url":"https://api.github.com/users/bgrant0607/repos","events_url":"https://api.github.com/users/bgrant0607/events{/privacy}","received_events_url":"https://api.github.com/users/bgrant0607/received_events","type":"User","site_admin":false},"created_at":"2016-05-18T07:22:22Z","updated_at":"2016-05-18T07:22:22Z","body":"See also #7369"}}