resolver(auth): avoid serializing unrelated auth callbacks#6645
Closed
crazy-max wants to merge 1 commit intomoby:masterfrom
Closed
resolver(auth): avoid serializing unrelated auth callbacks#6645crazy-max wants to merge 1 commit intomoby:masterfrom
crazy-max wants to merge 1 commit intomoby:masterfrom
Conversation
793eb3c to
f9a6118
Compare
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
f9a6118 to
7242791
Compare
Member
|
ptal #6649 |
Member
Author
Yeah if the root issue is the wedged session tunnel path, then your changes make more sense. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to the narrow cancellation fix in #6641. That first fix only addressed the manual cancellation case and that more fixes were likely needed for the broader discussion.
That broader discussion is in #6633, where the report and follow-up comments point at unrelated auth and resolver work being stalled behind one slow or stuck auth path. This change hopefully addresses that remaining resolver-side serialization problem without taking the larger refactors proposed in the original patch stack.
This change narrows the resolver auth handler locking so one slow auth callback does not block unrelated auth work for the same resolver namespace.
The
fetchersmap synchronization now lives insideauthHandlerNShelper methods instead of wrapping the wholeAuthorizeandAddResponsesflows. The resolver still snapshots and reuses cached auth fetchers the same way, but session callbacks such asCredentials,VerifyTokenAuthority, and token fetch work no longer run whilemuHandlersis held. I also added resolver tests that block one host in the real session auth RPC path and verify that an unrelated host can still complete its ownAddResponsesorAuthorizeflow.