{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/23575","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/23575/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/23575/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/23575/events","html_url":"https://github.com/kubernetes/kubernetes/pull/23575","id":144262444,"number":23575,"title":"shared controller informers","user":{"login":"deads2k","id":8225098,"avatar_url":"https://avatars.githubusercontent.com/u/8225098?v=3","gravatar_id":"","url":"https://api.github.com/users/deads2k","html_url":"https://github.com/deads2k","followers_url":"https://api.github.com/users/deads2k/followers","following_url":"https://api.github.com/users/deads2k/following{/other_user}","gists_url":"https://api.github.com/users/deads2k/gists{/gist_id}","starred_url":"https://api.github.com/users/deads2k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deads2k/subscriptions","organizations_url":"https://api.github.com/users/deads2k/orgs","repos_url":"https://api.github.com/users/deads2k/repos","events_url":"https://api.github.com/users/deads2k/events{/privacy}","received_events_url":"https://api.github.com/users/deads2k/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-label-needed","name":"release-note-label-needed","color":"db5a64"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/XL","name":"size/XL","color":"ee5500"}],"state":"open","locked":false,"assignee":{"login":"derekwaynecarr","id":6233452,"avatar_url":"https://avatars.githubusercontent.com/u/6233452?v=3","gravatar_id":"","url":"https://api.github.com/users/derekwaynecarr","html_url":"https://github.com/derekwaynecarr","followers_url":"https://api.github.com/users/derekwaynecarr/followers","following_url":"https://api.github.com/users/derekwaynecarr/following{/other_user}","gists_url":"https://api.github.com/users/derekwaynecarr/gists{/gist_id}","starred_url":"https://api.github.com/users/derekwaynecarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/derekwaynecarr/subscriptions","organizations_url":"https://api.github.com/users/derekwaynecarr/orgs","repos_url":"https://api.github.com/users/derekwaynecarr/repos","events_url":"https://api.github.com/users/derekwaynecarr/events{/privacy}","received_events_url":"https://api.github.com/users/derekwaynecarr/received_events","type":"User","site_admin":false},"milestone":null,"comments":15,"created_at":"2016-03-29T13:18:46Z","updated_at":"2016-04-15T08:23:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/23575","html_url":"https://github.com/kubernetes/kubernetes/pull/23575","diff_url":"https://github.com/kubernetes/kubernetes/pull/23575.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/23575.patch"},"body":"Related to https://github.com/kubernetes/kubernetes/issues/14978\r\n\r\nThis demonstrates how controllers which use an `Informer`, would be able to share the same watch and store.  A similar \"setup and run\" approach could be done for an `IndexInformer` to share that cache.  I found adding listeners here to be easier than intercepting at the watch interface (problems with resourceVersion) or the reflector (same plumbing, but you have to fan out to multiple stores).\r\n\r\nWe could also use the cache we build here to back several of the admission plugins that currently run their own lookup caches today.\r\n\r\nIf there's interest, I can finish out the `SharedInformer` and switch the low hanging fruit over.  \r\n\r\n@kubernetes/rh-cluster-infra @smarterclayton @liggitt @wojtek-t "},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/210356369","html_url":"https://github.com/kubernetes/kubernetes/pull/23575#issuecomment-210356369","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/23575","id":210356369,"user":{"login":"wojtek-t","id":10743879,"avatar_url":"https://avatars.githubusercontent.com/u/10743879?v=3","gravatar_id":"","url":"https://api.github.com/users/wojtek-t","html_url":"https://github.com/wojtek-t","followers_url":"https://api.github.com/users/wojtek-t/followers","following_url":"https://api.github.com/users/wojtek-t/following{/other_user}","gists_url":"https://api.github.com/users/wojtek-t/gists{/gist_id}","starred_url":"https://api.github.com/users/wojtek-t/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wojtek-t/subscriptions","organizations_url":"https://api.github.com/users/wojtek-t/orgs","repos_url":"https://api.github.com/users/wojtek-t/repos","events_url":"https://api.github.com/users/wojtek-t/events{/privacy}","received_events_url":"https://api.github.com/users/wojtek-t/received_events","type":"User","site_admin":false},"created_at":"2016-04-15T08:23:13Z","updated_at":"2016-04-15T08:23:13Z","body":"I added some comments. But generally it looks good."}}