Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

etcd3: use PrevKV to remove additional get #34246

Merged
merged 2 commits into from
Oct 11, 2016

Conversation

hongchaodeng
Copy link
Contributor

@hongchaodeng hongchaodeng commented Oct 6, 2016

ref: ##33653

We are trying to test using PrevKV feature and see if it improves performance.
In order to test this, we will need etcd v3.1 (alpha) image.

Blockers:

  • update gcr.io image (version v3.0.12)
etcd3: use PrevKV to remove additional get

This change is Reviewable

@hongchaodeng
Copy link
Contributor Author

cc @wojtek-t @timothysc

@k8s-github-robot k8s-github-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. release-note-label-needed labels Oct 6, 2016
@@ -353,263 +353,273 @@
},
{
"ImportPath": "github.com/coreos/etcd/alarm",
"Comment": "v3.0.10",
"Rev": "546c0f7ed65523c24390f0f26c7e4af2232f52d2"
"Comment": "v3.1.0-alpha.1-86-gb980ab0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't @wojtek-t need to bump their uber-container to test this?

@xiang90 xiang90 changed the title etcd3: use PrevKV to remove additional get Do Not Merge etcd3: use PrevKV to remove additional get Oct 6, 2016
@xiang90
Copy link
Contributor

xiang90 commented Oct 6, 2016

Do not merge this. If this solves the problem, we will back port this feature to 3.0 release branch next week.

}
var prevVal []byte
if len(prevResp.Kvs) > 0 {
prevVal = prevResp.Kvs[0].Value
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just for edification but if you said clientv3.WithRev(0) you would get the history of a key?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"0" will returns latest state.

@hongchaodeng hongchaodeng changed the title Do Not Merge etcd3: use PrevKV to remove additional get [Do Not Merge] etcd3: use PrevKV to remove additional get Oct 6, 2016
@timothysc
Copy link
Member

/cc @smarterclayton fyi.

@wojtek-t
Copy link
Member

wojtek-t commented Oct 6, 2016

@xiang90 @hongchaodeng - just to clarify, what I should do is to:

  • build etcd Docker image for 3.1 release
  • patch this PR
  • build from this patch and check the results
    Or am I missing something?

@wojtek-t wojtek-t assigned wojtek-t and unassigned dchen1107 Oct 6, 2016
@hongchaodeng
Copy link
Contributor Author

Yes. Plan matched.

@xiang90
Copy link
Contributor

xiang90 commented Oct 6, 2016

build from this patch and check the results

If the result is good, we will backport this feature back to etcd 3.0.

@wojtek-t
Copy link
Member

wojtek-t commented Oct 7, 2016

@hongchaodeng @xiang90 - I did an experiment with this PR patched (and etcd in 3.1.0-alpha.1 version - I build the container: "gcr.io/google_containers/etcd:3.1.0-alpha.1" for this purpose)

And the results are waaaaaaaay better - please take a look into this comment:
#33653 (comment)

So if you could backport this feature to 3.0.x next week it would be great !!!

@wojtek-t
Copy link
Member

wojtek-t commented Oct 7, 2016

I'm reassigning it back to you. Once you build the new 3.0.x release, we should probably update this PR and then merge it, right?

@wojtek-t wojtek-t assigned hongchaodeng and unassigned wojtek-t Oct 7, 2016
@hongchaodeng
Copy link
Contributor Author

@wojtek-t
Sure. I will update the PR once the new release with the backport comes.

@k8s-ci-robot
Copy link
Contributor

Jenkins GKE smoke e2e failed for commit cfd8685a12e06e56e26b294dabffb469edc40eaa. Full PR test history.

The magic incantation to run this job again is @k8s-bot gke e2e test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@k8s-ci-robot
Copy link
Contributor

Jenkins GCI GKE smoke e2e failed for commit cfd8685a12e06e56e26b294dabffb469edc40eaa. Full PR test history.

The magic incantation to run this job again is @k8s-bot gci gke e2e test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@timothysc timothysc added priority/backlog Higher priority than priority/awaiting-more-evidence. release-note-none Denotes a PR that doesn't merit a release note. and removed release-note-label-needed labels Oct 7, 2016
@k8s-github-robot k8s-github-robot removed the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Oct 7, 2016
@wojtek-t wojtek-t added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 10, 2016
@k8s-github-robot k8s-github-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Oct 10, 2016
@hongchaodeng
Copy link
Contributor Author

Running into this issue many times:

error running up: exit status 1

@hongchaodeng
Copy link
Contributor Author

@k8s-bot gce e2e test this

@k8s-ci-robot
Copy link
Contributor

Jenkins GCE e2e failed for commit 2516ab0. Full PR test history.

The magic incantation to run this job again is @k8s-bot gce e2e test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@thockin
Copy link
Member

thockin commented Oct 11, 2016

regarding godep: did you follow the EXACT instructions in /~https://github.com/kubernetes/kubernetes/blob/master/docs/devel/godep.md ?

If so, please help me with instructions for the smallest repro I can make...

@hongchaodeng
Copy link
Contributor Author

hongchaodeng commented Oct 11, 2016

@thockin
Thanks for offering the help.
We have fixed the godep problem actually :)

@wojtek-t
Copy link
Member

@k8s-bot gce e2e test this, issue: #IGNORE (Failed to create firewall)

@k8s-github-robot
Copy link

@k8s-bot test this [submit-queue is verifying that this PR is safe to merge]

@k8s-github-robot
Copy link

Automatic merge from submit-queue

@k8s-github-robot k8s-github-robot merged commit 0b62733 into kubernetes:master Oct 11, 2016
@hongchaodeng hongchaodeng deleted the etcddep branch October 11, 2016 14:38
@timothysc
Copy link
Member

@smarterclayton - this patch is high-priority.

k8s-github-robot pushed a commit that referenced this pull request Oct 12, 2016
Automatic merge from submit-queue

Avoid unnecessary decoding in etcd3 client

Ref #33653

With the "Cacher" layer in Kubernetes, most of the watches processed by "pkg/storage/etcd3/watcher.go" have "filter = Everything()". That said, we generally don't need to decode previous value of the object (which is used only to get the value of filter of it), because we already know it will be true.

This PR is basically fixing this problem.

Should be merged after #34246
@k8s-cherrypick-bot
Copy link

Removing label cherrypick-candidate because no release milestone was set. This is an invalid state and thus this PR is not being considered for cherry-pick to any release branch. Please add an appropriate release milestone and then re-add the label.

@wojtek-t wojtek-t added this to the v1.4 milestone Oct 19, 2016
@jessfraz jessfraz added release-note Denotes a PR that will be considered when it comes time to generate release notes. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. and removed release-note-none Denotes a PR that doesn't merit a release note. labels Oct 20, 2016
k8s-github-robot pushed a commit that referenced this pull request Oct 21, 2016
#31704-#32831-#32907-#33003-#33349-#31190-#33581-#34089-#34234-#32822-#33393-#34246-#34435-#32477-upstream-release-1.4

Automatic merge from submit-queue

Automated cherry pick of #31189 #31704 #32831 #32907 #33003 #33349 #31190 #33581 #34089 #34234 #32822 #33393 #34246 #34435 #32477 upstream release 1.4

We are going to release etcd v3 in 1.4.x release.

```
Cherrypick etcd v3-related bug fixes to 1.4 branch
```

Those PRs include:
- Updates of etcd Godeps
- Update to pkg/storage/etcd directory
- Two PR that were unnecessary to avoid conflicts: #31189 #31704

Automated cherry pick of #31189 #31704 #32831 #32907 #33003 #33349 #31190 #33581 #34089 #34234 #32822 #33393 #34246 #34435 #32477

@hongchaodeng @xiang90 @lavalamp @smarterclayton
@k8s-cherrypick-bot
Copy link

Commit found in the "release-1.4" branch appears to be this PR. Removing the "cherrypick-candidate" label. If this is an error find help to get your PR picked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/etcd cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/backlog Higher priority than priority/awaiting-more-evidence. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.