{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28738","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28738/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28738/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28738/events","html_url":"https://github.com/kubernetes/kubernetes/issues/28738","id":164700146,"number":28738,"title":"Use PrevKv of the etcd watch Event to get ride of extra Get() for transforming event","user":{"login":"m1093782566","id":4953962,"avatar_url":"https://avatars.githubusercontent.com/u/4953962?v=3","gravatar_id":"","url":"https://api.github.com/users/m1093782566","html_url":"https://github.com/m1093782566","followers_url":"https://api.github.com/users/m1093782566/followers","following_url":"https://api.github.com/users/m1093782566/following{/other_user}","gists_url":"https://api.github.com/users/m1093782566/gists{/gist_id}","starred_url":"https://api.github.com/users/m1093782566/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/m1093782566/subscriptions","organizations_url":"https://api.github.com/users/m1093782566/orgs","repos_url":"https://api.github.com/users/m1093782566/repos","events_url":"https://api.github.com/users/m1093782566/events{/privacy}","received_events_url":"https://api.github.com/users/m1093782566/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-07-10T05:24:47Z","updated_at":"2016-07-10T05:29:51Z","closed_at":null,"body":"In the earlier etcd3 API, it didn't support return prevKv of a put/delete operation. So, we need another [Get()](https://github.com/kubernetes/kubernetes/blob/master/pkg/storage/etcd3/watcher.go#L321) to retrieve previous object and have logic upon it.\r\n\r\nSince the latest etcd3 API support get old kv in watch, see [here](https://github.com/coreos/etcd/blob/master/mvcc/mvccpb/kv.pb.go#L93). So, it's time for us to use PrevKv to replace the extra Get() for transforming event?\r\n\r\nI find we may need to upgrade many 3rd party packages if introduce the new API. So, what's your options?\r\n\r\n@hongchaodeng @xiang90 @wojtek-t\r\n\r\nThanks!"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/231571744","html_url":"https://github.com/kubernetes/kubernetes/issues/28738#issuecomment-231571744","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28738","id":231571744,"user":{"login":"hongchaodeng","id":920884,"avatar_url":"https://avatars.githubusercontent.com/u/920884?v=3","gravatar_id":"","url":"https://api.github.com/users/hongchaodeng","html_url":"https://github.com/hongchaodeng","followers_url":"https://api.github.com/users/hongchaodeng/followers","following_url":"https://api.github.com/users/hongchaodeng/following{/other_user}","gists_url":"https://api.github.com/users/hongchaodeng/gists{/gist_id}","starred_url":"https://api.github.com/users/hongchaodeng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hongchaodeng/subscriptions","organizations_url":"https://api.github.com/users/hongchaodeng/orgs","repos_url":"https://api.github.com/users/hongchaodeng/repos","events_url":"https://api.github.com/users/hongchaodeng/events{/privacy}","received_events_url":"https://api.github.com/users/hongchaodeng/received_events","type":"User","site_admin":false},"created_at":"2016-07-10T05:29:51Z","updated_at":"2016-07-10T05:29:51Z","body":"See https://github.com/kubernetes/kubernetes/issues/20504#issuecomment-231269117"}}
{"actor":{"display_login":"hongchaodeng"}}