{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/18473","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/18473/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/18473/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/18473/events","html_url":"https://github.com/kubernetes/kubernetes/pull/18473","id":121360711,"number":18473,"title":"Change the signature of runtime.Object for performance","user":{"login":"smarterclayton","id":1163175,"avatar_url":"https://avatars.githubusercontent.com/u/1163175?v=3","gravatar_id":"","url":"https://api.github.com/users/smarterclayton","html_url":"https://github.com/smarterclayton","followers_url":"https://api.github.com/users/smarterclayton/followers","following_url":"https://api.github.com/users/smarterclayton/following{/other_user}","gists_url":"https://api.github.com/users/smarterclayton/gists{/gist_id}","starred_url":"https://api.github.com/users/smarterclayton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smarterclayton/subscriptions","organizations_url":"https://api.github.com/users/smarterclayton/orgs","repos_url":"https://api.github.com/users/smarterclayton/repos","events_url":"https://api.github.com/users/smarterclayton/events{/privacy}","received_events_url":"https://api.github.com/users/smarterclayton/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/kind/api-change","name":"kind/api-change","color":"c7def8"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/new-api","name":"kind/new-api","color":"c7def8"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/XL","name":"size/XL","color":"ee5500"}],"state":"open","locked":false,"assignee":{"login":"lavalamp","id":647318,"avatar_url":"https://avatars.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":6,"created_at":"2015-12-09T22:58:34Z","updated_at":"2015-12-10T04:12:58Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/18473","html_url":"https://github.com/kubernetes/kubernetes/pull/18473","diff_url":"https://github.com/kubernetes/kubernetes/pull/18473.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/18473.patch"},"body":"runtime.Object now requires callers to expose methods for manipulating groupversionkind.\nNot every object must implement a valid implementation, but the vast majority will.\n\nIn the short term this allows us to easily reduce the cost of certain common operations\nduring conversion."},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/163483571","html_url":"https://github.com/kubernetes/kubernetes/pull/18473#issuecomment-163483571","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/18473","id":163483571,"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":"2015-12-10T04:12:58Z","updated_at":"2015-12-10T04:12:58Z","body":"@smarterclayton \r\n\r\nI am still trying to understand the purpose correctly. So now most objects has func `GroupVersionKind()` and we can use this \"interface\" to examine the actual type at runtime? \r\n\r\nI guess I want to know why the func it called `GroupVersionKind()`?"}}