-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
xds: Do not failover priority when IDLE->CONNECTING #8926
Conversation
38a9206
to
52002ce
Compare
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.
The first commit with the test changes looks fine. But the second one looks broken. It doesn't propagate the picker change up the tree, so the channel will continue using the old picker. READY→CONNECTING will thus return an old transport for potentially a long time.
52002ce
to
ff18d2b
Compare
That does break. Redone the fix. |
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 need to stare at this new version a bit longer, but I'll mention that I thought the earlier version would have worked just by adding a call to tryNextPriority. Since the subpolicy state wasn't changed, we'd expect the tryNextPolicy to be equivalent to the last time it was called, except it will pick up the new picker.
That would also work, but I really don't like to update the overall state like |
Consists of two commits, the fix is in 2nd one, and the 1st only improves the test and does not impact the fix even without it.