{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/44058","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/44058/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/44058/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/44058/events","html_url":"https://github.com/kubernetes/kubernetes/pull/44058","id":219386847,"number":44058,"title":"Make background garbage collection cascading","user":{"login":"caesarxuchao","id":2823529,"avatar_url":"https://avatars1.githubusercontent.com/u/2823529?v=3","gravatar_id":"","url":"https://api.github.com/users/caesarxuchao","html_url":"https://github.com/caesarxuchao","followers_url":"https://api.github.com/users/caesarxuchao/followers","following_url":"https://api.github.com/users/caesarxuchao/following{/other_user}","gists_url":"https://api.github.com/users/caesarxuchao/gists{/gist_id}","starred_url":"https://api.github.com/users/caesarxuchao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caesarxuchao/subscriptions","organizations_url":"https://api.github.com/users/caesarxuchao/orgs","repos_url":"https://api.github.com/users/caesarxuchao/repos","events_url":"https://api.github.com/users/caesarxuchao/events{/privacy}","received_events_url":"https://api.github.com/users/caesarxuchao/received_events","type":"User","site_admin":false},"labels":[{"id":477397086,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":349530192,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-label-needed","name":"release-note-label-needed","color":"db5a64","default":false},{"id":253450934,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/M","name":"size/M","color":"eebb00","default":false}],"state":"open","locked":false,"assignee":{"login":"lavalamp","id":647318,"avatar_url":"https://avatars3.githubusercontent.com/u/647318?v=3","gravatar_id":"","url":"https://api.github.com/users/lavalamp","html_url":"https://github.com/lavalamp","followers_url":"https://api.github.com/users/lavalamp/followers","following_url":"https://api.github.com/users/lavalamp/following{/other_user}","gists_url":"https://api.github.com/users/lavalamp/gists{/gist_id}","starred_url":"https://api.github.com/users/lavalamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lavalamp/subscriptions","organizations_url":"https://api.github.com/users/lavalamp/orgs","repos_url":"https://api.github.com/users/lavalamp/repos","events_url":"https://api.github.com/users/lavalamp/events{/privacy}","received_events_url":"https://api.github.com/users/lavalamp/received_events","type":"User","site_admin":false},"assignees":[{"login":"lavalamp","id":647318,"avatar_url":"https://avatars3.githubusercontent.com/u/647318?v=3","gravatar_id":"","url":"https://api.github.com/users/lavalamp","html_url":"https://github.com/lavalamp","followers_url":"https://api.github.com/users/lavalamp/followers","following_url":"https://api.github.com/users/lavalamp/following{/other_user}","gists_url":"https://api.github.com/users/lavalamp/gists{/gist_id}","starred_url":"https://api.github.com/users/lavalamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lavalamp/subscriptions","organizations_url":"https://api.github.com/users/lavalamp/orgs","repos_url":"https://api.github.com/users/lavalamp/repos","events_url":"https://api.github.com/users/lavalamp/events{/privacy}","received_events_url":"https://api.github.com/users/lavalamp/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2017-04-04T21:16:43Z","updated_at":"2017-04-04T21:17:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/44058","html_url":"https://github.com/kubernetes/kubernetes/pull/44058","diff_url":"https://github.com/kubernetes/kubernetes/pull/44058.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/44058.patch"},"body":"Fix #44046, where user reported that the garbage collector didn't delete pods when a deployment was deleted with PropagationPolicy=Background.\r\n\r\nThe cause is that when propagating background garbage collection request, the garbage collector deletes dependents with DeleteOptions.PropagationPolicy=nil, which means the default GC policy of a resource (defined by its REST strategy) and the existing GC-related finalizers will decide how the delete request is propagated further. Unfortunately, the default GC policy for RS is orphaning, so the pods are behind when a deployment is deleted.\r\n\r\nThis PR changes the garbage collector to delete dependents with DeleteOptions.PropagationPolicy=Background when the owner is deleted in background. This means the dependent's existing GC finalizers will be overridden, making orphaning less flexible (see this made-up [case](https://github.com/kubernetes/kubeadm/issues/149#issuecomment-278942012)). I think sacrificing the flexibility of orphaning is worthwhile, because making the behavior of background garbage collection matching users' expectation is more important.\r\n\r\ncc @lavalamp @kargakis @krmayankk @enisoc \r\n\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/291634768","html_url":"https://github.com/kubernetes/kubernetes/pull/44058#issuecomment-291634768","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/44058","id":291634768,"user":{"login":"k8s-reviewable","id":24305385,"avatar_url":"https://avatars1.githubusercontent.com/u/24305385?v=3","gravatar_id":"","url":"https://api.github.com/users/k8s-reviewable","html_url":"https://github.com/k8s-reviewable","followers_url":"https://api.github.com/users/k8s-reviewable/followers","following_url":"https://api.github.com/users/k8s-reviewable/following{/other_user}","gists_url":"https://api.github.com/users/k8s-reviewable/gists{/gist_id}","starred_url":"https://api.github.com/users/k8s-reviewable/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k8s-reviewable/subscriptions","organizations_url":"https://api.github.com/users/k8s-reviewable/orgs","repos_url":"https://api.github.com/users/k8s-reviewable/repos","events_url":"https://api.github.com/users/k8s-reviewable/events{/privacy}","received_events_url":"https://api.github.com/users/k8s-reviewable/received_events","type":"User","site_admin":false},"created_at":"2017-04-04T21:17:49Z","updated_at":"2017-04-04T21:17:49Z","body":"\n\n<!-- Reviewable:start -->\nThis change is [<img src=\"https://reviewable.kubernetes.io/review_button.png\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/44058)\n<!-- Reviewable:end -->\n"}}
{"actor":{"display_login":"k8s-reviewable"}}