-
Notifications
You must be signed in to change notification settings - Fork 103
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
zds: fix retrying a bad netns #1284
zds: fix retrying a bad netns #1284
Conversation
Skipping CI for Draft Pull Request. |
/test all |
2f4c915
to
5e90298
Compare
@@ -231,6 +231,8 @@ impl WorkloadProxyManagerState { | |||
.await | |||
{ | |||
Ok(()) => { | |||
// If the workload is already pending, make sure we drop it, so we don't retry. | |||
self.pending_workloads.remove(workload_uid); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm beginning to think we should probably key all of the workload stores with UID + NetNSID to avoid future goofiness like this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one nice part about UID is it means we will never have multiple Proxy running for a given pod. I would worry if we have netns ID as a key we could end up with some leaky Proxy instances somehow maybe?
Might be possible, but needs care
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, nice find, ty!
In response to a cherrypick label: new pull request created: #1285 |
Fixes istio/istio#52858
The issue here is this sequence of events:
Basically, we successfully start the proxy, but have the same UID in the pending queue. When the pending retries, it kills the working on + fails to start (since it has its own netns which is bogus).
The fix is to remove a proxy from pending queue when its added