{"action":"created","comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/84531103","pull_request_review_id":5306571,"id":84531103,"diff_hunk":"@@ -638,18 +705,47 @@ func (g *genConversion) doStruct(inType, outType *types.Type, sw *generator.Snip\n \t\t\toutMemberType = &copied\n \t\t}\n \n-\t\targs := map[string]interface{}{\n-\t\t\t\"inType\":  inMemberType,\n-\t\t\t\"outType\": outMemberType,\n-\t\t\t\"name\":    inMember.Name,\n+\t\targs := argsFromType(inMemberType, outMemberType).With(\"name\", inMember.Name)\n+\n+\t\t// try a direct memory copy for any type that has exactly equivalent values\n+\t\tif g.useUnsafe.Equal(inMemberType, outMemberType) {\n+\t\t\targs = args.\n+\t\t\t\tWith(\"Pointer\", types.Ref(\"unsafe\", \"Pointer\")).\n+\t\t\t\tWith(\"SliceHeader\", types.Ref(\"reflect\", \"SliceHeader\"))\n+\t\t\tswitch inMemberType.Kind {\n+\t\t\tcase types.Pointer:\n+\t\t\t\tsw.Do(\"out.$.name$ = ($.outType|raw$)($.Pointer|raw$(in.$.name$))\\n\", args)\n+\t\t\t\tcontinue\n+\t\t\tcase types.Map:\n+\t\t\t\tsw.Do(\"{\\n\", nil)\n+\t\t\t\tsw.Do(\"m := (*$.outType|raw$)($.Pointer|raw$(&in.$.name$))\\n\", args)\n+\t\t\t\tsw.Do(\"out.$.name$ = *m\\n\", args)\n+\t\t\t\tsw.Do(\"}\\n\", nil)\n+\t\t\t\tcontinue\n+\t\t\tcase types.Slice:\n+\t\t\t\tsw.Do(\"{\\n\", nil)\n+\t\t\t\tsw.Do(\"outHdr := (*$.SliceHeader|raw$)($.Pointer|raw$(&out.$.name$))\\n\", args)\n+\t\t\t\tsw.Do(\"inHdr := (*$.SliceHeader|raw$)($.Pointer|raw$(&in.$.name$))\\n\", args)\n+\t\t\t\tsw.Do(\"*outHdr = *inHdr\\n\", nil)\n+\t\t\t\tsw.Do(\"}\\n\", nil)\n+\t\t\t\tcontinue\n+\t\t\t}\n \t\t}\n+\n \t\t// check based on the top level name, not the underlying names\n \t\tif function, ok := g.preexists(inMember.Type, outMember.Type); ok {\n-\t\t\targs[\"function\"] = function\n-\t\t\tsw.Do(\"if err := $.function|raw$(&in.$.name$, &out.$.name$, s); err != nil {\\n\", args)\n-\t\t\tsw.Do(\"return err\\n\", nil)\n-\t\t\tsw.Do(\"}\\n\", nil)\n-\t\t\tcontinue\n+\t\t\tif isDrop(function.CommentLines) {\n+\t\t\t\tcontinue\n+\t\t\t}\n+\t\t\t// copy-only functions that are directly assignable can be inlined instead of invoked\n+\t\t\tif !isCopyOnly(function.CommentLines) || !g.isFastConversion(inMemberType, outMemberType) {","path":"cmd/libs/go2idl/conversion-gen/generators/conversion.go","position":389,"original_position":389,"commit_id":"32ef5f13416f36fb03966ff37c1bdd3645d8e170","original_commit_id":"0d8409788541114e22ebc168c98aebf9cf3727fa","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},"body":"Sure.  So we have a few conversion functions that are defined and registered that do nothing except copy certain types safely for the reflection path.  The canonical example is unversioned.Time - reflection can't copy it because it has private fields, so we have `Convert_unversioned_Time_to_unversioned_Time`.  However, the conversion doesn't do anything that a memory copy can't handle, so the comment marker on the function says \"I promise this conversion does nothing except copy these types\".  This allows us to fast copy ObjectMeta, for instance.","created_at":"2016-10-21T19:30:29Z","updated_at":"2016-10-21T19:30:29Z","html_url":"https://github.com/kubernetes/kubernetes/pull/34784#discussion_r84531103","pull_request_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/34784","_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/84531103"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/34784#discussion_r84531103"},"pull_request":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/34784"}}},"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/34784","id":89310673,"html_url":"https://github.com/kubernetes/kubernetes/pull/34784","diff_url":"https://github.com/kubernetes/kubernetes/pull/34784.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/34784.patch","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/34784","number":34784,"state":"open","locked":false,"title":"Use unsafe operations to get fast memory copy","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},"body":"We can avoid doing allocations by using legal unsafe.Pointer allocations to\nassign pointers to equivalent memory locations (for memory identical types).\n\n@wojtek-t\n\n```\nbenchcmp /tmp/old /tmp/new\nbenchmark                                      old ns/op     new ns/op     delta\nBenchmarkPodConversion-8                       3590          2438          -32.09%\nBenchmarkNodeConversion-8                      4774          1773          -62.86%\nBenchmarkReplicationControllerConversion-8     3711          2919          -21.34%\nBenchmarkEncodeCodecFromInternalProtobuf-8     5692          4816          -15.39%\nBenchmarkDecodeCodecToInternalProtobuf-8       7762          6540          -15.74%\nBenchmarkEncodeCodecFromInternal-8             32668         31158         -4.62%\nBenchmarkDecodeCodec-8                         67260         63348         -5.82%\nBenchmarkDecodeIntoInternalCodec-8             62903         64510         +2.55%\n\nbenchmark                                      old allocs     new allocs     delta\nBenchmarkPodConversion-8                       26             13             -50.00%\nBenchmarkNodeConversion-8                      21             9              -57.14%\nBenchmarkReplicationControllerConversion-8     23             17             -26.09%\nBenchmarkEncodeCodecFromInternalProtobuf-8     16             8              -50.00%\nBenchmarkDecodeCodecToInternalProtobuf-8       72             64             -11.11%\nBenchmarkEncodeCodecFromInternal-8             68             60             -11.76%\nBenchmarkDecodeCodec-8                         268            260            -2.99%\nBenchmarkDecodeIntoInternalCodec-8             268            260            -2.99%\n\nbenchmark                                      old bytes     new bytes     delta\nBenchmarkPodConversion-8                       3324          2377          -28.49%\nBenchmarkNodeConversion-8                      4800          1696          -64.67%\nBenchmarkReplicationControllerConversion-8     3456          3072          -11.11%\nBenchmarkEncodeCodecFromInternalProtobuf-8     3992          3392          -15.03%\nBenchmarkDecodeCodecToInternalProtobuf-8       5560          4960          -10.79%\nBenchmarkEncodeCodecFromInternal-8             7180          6576          -8.41%\nBenchmarkDecodeCodec-8                         13920         13320         -4.31%\nBenchmarkDecodeIntoInternalCodec-8             13920         13320         -4.31%\n```\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.kubernetes.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/34784)\n<!-- Reviewable:end -->\n","created_at":"2016-10-14T01:27:13Z","updated_at":"2016-10-21T19:30:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0f571914cd68081f9d1df6a89f2eac884e144e33","assignee":{"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},"assignees":[{"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}],"milestone":null,"commits_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/34784/commits","review_comments_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/34784/comments","review_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/34784/comments","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/32ef5f13416f36fb03966ff37c1bdd3645d8e170","head":{"label":"smarterclayton:unsafe_converter","ref":"unsafe_converter","sha":"32ef5f13416f36fb03966ff37c1bdd3645d8e170","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},"repo":{"id":21225407,"name":"kubernetes","full_name":"smarterclayton/kubernetes","owner":{"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},"private":false,"html_url":"https://github.com/smarterclayton/kubernetes","description":"Container Cluster Manager","fork":true,"url":"https://api.github.com/repos/smarterclayton/kubernetes","forks_url":"https://api.github.com/repos/smarterclayton/kubernetes/forks","keys_url":"https://api.github.com/repos/smarterclayton/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/smarterclayton/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/smarterclayton/kubernetes/teams","hooks_url":"https://api.github.com/repos/smarterclayton/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/smarterclayton/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/smarterclayton/kubernetes/events","assignees_url":"https://api.github.com/repos/smarterclayton/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/smarterclayton/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/smarterclayton/kubernetes/tags","blobs_url":"https://api.github.com/repos/smarterclayton/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/smarterclayton/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/smarterclayton/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/smarterclayton/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/smarterclayton/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/smarterclayton/kubernetes/languages","stargazers_url":"https://api.github.com/repos/smarterclayton/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/smarterclayton/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/smarterclayton/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/smarterclayton/kubernetes/subscription","commits_url":"https://api.github.com/repos/smarterclayton/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/smarterclayton/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/smarterclayton/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/smarterclayton/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/smarterclayton/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/smarterclayton/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/smarterclayton/kubernetes/merges","archive_url":"https://api.github.com/repos/smarterclayton/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/smarterclayton/kubernetes/downloads","issues_url":"https://api.github.com/repos/smarterclayton/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/smarterclayton/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/smarterclayton/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/smarterclayton/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/smarterclayton/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/smarterclayton/kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/smarterclayton/kubernetes/deployments","created_at":"2014-06-26T02:28:13Z","updated_at":"2016-07-09T03:26:11Z","pushed_at":"2016-10-21T17:50:04Z","git_url":"git://github.com/smarterclayton/kubernetes.git","ssh_url":"git@github.com:smarterclayton/kubernetes.git","clone_url":"https://github.com/smarterclayton/kubernetes.git","svn_url":"https://github.com/smarterclayton/kubernetes","homepage":null,"size":334868,"stargazers_count":3,"watchers_count":3,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":3,"default_branch":"master"}},"base":{"label":"kubernetes:master","ref":"master","sha":"deadea91dc910987b53184aa4b7c8e9b9b8946a8","user":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars.githubusercontent.com/u/13629408?v=3","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"repo":{"id":20580498,"name":"kubernetes","full_name":"kubernetes/kubernetes","owner":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars.githubusercontent.com/u/13629408?v=3","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kubernetes/kubernetes","description":"Production-Grade Container Scheduling and Management","fork":false,"url":"https://api.github.com/repos/kubernetes/kubernetes","forks_url":"https://api.github.com/repos/kubernetes/kubernetes/forks","keys_url":"https://api.github.com/repos/kubernetes/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubernetes/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubernetes/kubernetes/teams","hooks_url":"https://api.github.com/repos/kubernetes/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/kubernetes/kubernetes/events","assignees_url":"https://api.github.com/repos/kubernetes/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/kubernetes/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/kubernetes/kubernetes/tags","blobs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubernetes/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubernetes/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/kubernetes/kubernetes/languages","stargazers_url":"https://api.github.com/repos/kubernetes/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/kubernetes/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/kubernetes/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/kubernetes/kubernetes/subscription","commits_url":"https://api.github.com/repos/kubernetes/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubernetes/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubernetes/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/kubernetes/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubernetes/kubernetes/merges","archive_url":"https://api.github.com/repos/kubernetes/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubernetes/kubernetes/downloads","issues_url":"https://api.github.com/repos/kubernetes/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/kubernetes/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/kubernetes/kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/kubernetes/kubernetes/deployments","created_at":"2014-06-06T22:56:04Z","updated_at":"2016-10-21T19:13:23Z","pushed_at":"2016-10-21T19:07:07Z","git_url":"git://github.com/kubernetes/kubernetes.git","ssh_url":"git@github.com:kubernetes/kubernetes.git","clone_url":"https://github.com/kubernetes/kubernetes.git","svn_url":"https://github.com/kubernetes/kubernetes","homepage":"http://kubernetes.io","size":600121,"stargazers_count":17798,"watchers_count":17798,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":5796,"mirror_url":null,"open_issues_count":5026,"forks":5796,"open_issues":5026,"watchers":17798,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/34784"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/34784"},"issue":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/34784"},"comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/34784/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/34784/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/34784/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes/kubernetes/statuses/32ef5f13416f36fb03966ff37c1bdd3645d8e170"}}}}
{"actor":{"display_login":"smarterclayton"}}