[pick_first] fix bug that caused us to stop attempting to connect#40162
Closed
markdroth wants to merge 1 commit intogrpc:masterfrom
Closed
[pick_first] fix bug that caused us to stop attempting to connect#40162markdroth wants to merge 1 commit intogrpc:masterfrom
markdroth wants to merge 1 commit intogrpc:masterfrom
Conversation
eugeneo
pushed a commit
to eugeneo/grpc
that referenced
this pull request
Jul 11, 2025
…pc#40162) The bug was triggered in a fairly rare sequence of events: The subchannel needed to report CONNECTING as its initial state but then transition to TRANSIENT_FAILURE and back to IDLE before Happy Eyeballs got to it. Because we had recorded that the subchannel already saw TRANSIENT_FAILURE state before Happy Eyeballs got to it, it was not considered a new failure, which broke the logic we use to trigger exiting from the initial Happy Eyeballs pass and continue connecting. The fix is to not record that the subchannel saw TRANSIENT_FAILURE state until we get to it in the Happy Eyeballs pass. b/428689461 Closes grpc#40162 COPYBARA_INTEGRATE_REVIEW=grpc#40162 from markdroth:pf_fix e37fa72 PiperOrigin-RevId: 781727929
asheshvidyut
pushed a commit
to asheshvidyut/grpc
that referenced
this pull request
Jul 12, 2025
…pc#40162) The bug was triggered in a fairly rare sequence of events: The subchannel needed to report CONNECTING as its initial state but then transition to TRANSIENT_FAILURE and back to IDLE before Happy Eyeballs got to it. Because we had recorded that the subchannel already saw TRANSIENT_FAILURE state before Happy Eyeballs got to it, it was not considered a new failure, which broke the logic we use to trigger exiting from the initial Happy Eyeballs pass and continue connecting. The fix is to not record that the subchannel saw TRANSIENT_FAILURE state until we get to it in the Happy Eyeballs pass. b/428689461 Closes grpc#40162 COPYBARA_INTEGRATE_REVIEW=grpc#40162 from markdroth:pf_fix e37fa72 PiperOrigin-RevId: 781727929
paulosjca
pushed a commit
to paulosjca/grpc
that referenced
this pull request
Aug 23, 2025
…pc#40162) The bug was triggered in a fairly rare sequence of events: The subchannel needed to report CONNECTING as its initial state but then transition to TRANSIENT_FAILURE and back to IDLE before Happy Eyeballs got to it. Because we had recorded that the subchannel already saw TRANSIENT_FAILURE state before Happy Eyeballs got to it, it was not considered a new failure, which broke the logic we use to trigger exiting from the initial Happy Eyeballs pass and continue connecting. The fix is to not record that the subchannel saw TRANSIENT_FAILURE state until we get to it in the Happy Eyeballs pass. b/428689461 Closes grpc#40162 COPYBARA_INTEGRATE_REVIEW=grpc#40162 from markdroth:pf_fix e37fa72 PiperOrigin-RevId: 781727929
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.
The bug was triggered in a fairly rare sequence of events: The subchannel needed to report CONNECTING as its initial state but then transition to TRANSIENT_FAILURE and back to IDLE before Happy Eyeballs got to it. Because we had recorded that the subchannel already saw TRANSIENT_FAILURE state before Happy Eyeballs got to it, it was not considered a new failure, which broke the logic we use to trigger exiting from the initial Happy Eyeballs pass and continue connecting. The fix is to not record that the subchannel saw TRANSIENT_FAILURE state until we get to it in the Happy Eyeballs pass.
b/428689461