Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

thockin
Copy link
Member

@thockin thockin commented Aug 29, 2015

This should make throughput better on the userspace proxier.

Fixes #11977

@bnprss I think this will fix your problems well enough that #12017 can be abandoned.

@k8s-bot
Copy link

k8s-bot commented Aug 29, 2015

GCE e2e build/test passed for commit 36768020505aa02afc2e311e0c4967d48f4787ed.

Copy link
Contributor

Choose a reason for hiding this comment

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

at struct creation time, are all the the field values in the struct guaranteed to be visible on all threads ?
The Go memory model didnt seem to call it out explicitly.(unless I missed it )
This also impacts other fields in the struct.
Otherwise, looks good to me.

Copy link
Member Author

Choose a reason for hiding this comment

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

Are you suggesting that another thread might still see this as a non-1 value? Or am I missing the implication? setServiceInfo DOES take the mutex, so any memory write before that must have been visible to other processors.

@thockin
Copy link
Member Author

thockin commented Aug 31, 2015

This should be cherry picked into 1.0 - it's a real problem.

@thockin
Copy link
Member Author

thockin commented Aug 31, 2015

@k8s-oncall for a prio merge

Copy link
Contributor

Choose a reason for hiding this comment

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

Please write an IsAlive() predicate on svcInfo so everyone will get this right.

Copy link
Member Author

Choose a reason for hiding this comment

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

yeah, I knew I should have done that. next push

Copy link
Contributor

Choose a reason for hiding this comment

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

Also, it would be good to capture this in a variable, to ensure that your log message sees the same thing the if statement sees.

@thockin
Copy link
Member Author

thockin commented Aug 31, 2015

new push is up

@ArtfulCoder ArtfulCoder added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 31, 2015
This should make throughput better on the userspace proxier.

Fixes kubernetes#11977
@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

As far as cherry picking goes, I think you need to make a cherry-pick PR separately with cherry_pick_pull.sh.

@thockin
Copy link
Member Author

thockin commented Sep 1, 2015

Yeah, I'll cherry pick it one LGTY

@thockin
Copy link
Member Author

thockin commented Sep 1, 2015

shippable did not start

@thockin thockin closed this Sep 1, 2015
@thockin thockin reopened this Sep 1, 2015
@k8s-github-robot
Copy link

LGTM was before last commit, removing LGTM

@k8s-github-robot k8s-github-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 1, 2015
@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

LGTM

@lavalamp lavalamp added lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-merge labels Sep 1, 2015
@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

Am trying to figure out what the merge queue is doing.

@k8s-bot
Copy link

k8s-bot commented Sep 1, 2015

GCE e2e build/test failed for commit caa010cbcf04b0aef7f22c2c2fb776f4c637826c.

@k8s-bot
Copy link

k8s-bot commented Sep 1, 2015

GCE e2e build/test passed for commit f0a9bad.

@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

The merge queue is blocked because our tests are not stable. #13236 is the biggest and possibly only offender.

@thockin thockin mentioned this pull request Sep 1, 2015
@ghost ghost mentioned this pull request Sep 1, 2015
lavalamp added a commit that referenced this pull request Sep 1, 2015
Don't take the proxy mutex in the traffic path
@lavalamp lavalamp merged commit a98a0f5 into kubernetes:master Sep 1, 2015
@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

@thockin shippable failed on master after I merged this-- I'm going to roll it back shortly.

@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

Hm, I can't repro locally...

@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

I can't repro locally, and it's only flaky, not perma broken:

--- FAIL: TestUDPProxyStop (2.52 seconds)
    proxier_test.go:210: expected 0 ProxyLoops running, got 1

https://app.shippable.com/builds/55e60487611d0d0b0053aa89

@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

It's too flaky. I'm going to roll back. Sorry.

@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

Hm, maybe the rollback didn't help? Sigh

@lavalamp
Copy link
Contributor

lavalamp commented Sep 1, 2015

No, it did help, I was just confused by shippable's ordering.

ArtfulCoder added a commit that referenced this pull request Sep 2, 2015
…5-upstream-release-1.0

Automated cherry pick of #13345 upstream release 1.0
@brendandburns brendandburns mentioned this pull request Sep 10, 2015
@thockin thockin deleted the proxy-contention branch November 14, 2015 02:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm "Looks good to me", indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

kube-proxy ProxyLoop() contends on mutex with iptables sync loop
6 participants