core: handle closed transport factory in InternalSubchannel without panic - #12984
Open
kannanjgithub wants to merge 1 commit into
Open
core: handle closed transport factory in InternalSubchannel without panic#12984kannanjgithub wants to merge 1 commit into
kannanjgithub wants to merge 1 commit into
Conversation
…anic Catch IllegalStateException when starting a new transport against a closed transport factory and shut down the subchannel safely instead of letting it escape into the SynchronizationContext and causing a channel panic.
Member
|
When #12985 goes in, this won't be necessary, right? |
Contributor
Author
|
#12985 will fix the reported problem of the transport factory lifecycle problem - to avoid closing it inadvertently when the OOB channel is shutdown by the Rls LB. However it also exposed a race condition that exists during legitimate closure of the transport factory during a channel shutdown, where an in-flight name resolution creates a new subchannel and tries to calls start a new transport. |
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.
Catch
IllegalStateExceptionwhen starting a new transport against a closed transport factory and shut down the subchannel safely instead of letting it escape into theSynchronizationContextand causing a channel panic.Internal yaqs
Related CL