A56 update: don't fake a report of TF when failover timer fires#509
Merged
Conversation
ejona86
reviewed
Aug 18, 2025
ejona86
left a comment
Member
There was a problem hiding this comment.
We probably also need to update the line:
It will also be started if the child reports CONNECTING and it has previously reported READY or IDLE more recently than TRANSIENT_FAILURE.
The easiest change is maybe "when the child first reports CONNECTING"? That language would tempt me to only check seenReadyOrIdleSinceTransientFailure when the state changes to CONNECTING instead of clearing out the variable (+rename) like done in grpc/grpc#40453 . I don't really care which way we go, but can_start_failover_timer_ looks awkward to describe here.
Member
Author
|
@ejona86 I've updated the wording to try to clarify that point. PTAL. |
dfawley
approved these changes
Aug 18, 2025
ejona86
approved these changes
Aug 18, 2025
ejona86
added a commit
to ejona86/grpc-java
that referenced
this pull request
Aug 18, 2025
Since c4256ad we no longer fabricate a TRANSIENT_FAILURE update from children. However, previously that would have set seenReadyOrIdleSinceTransientFailure = false and prevented future timer creation. If a LB policy gives extraneous updates with state CONNECTING, then it was possible to re-create failOverTimer which would then wait the 10 seconds for the child to finish CONNECTING. We only want to give the child one opportunity after transitioning out of READY/IDLE. grpc/proposal#509
kannanjgithub
pushed a commit
to grpc/grpc-java
that referenced
this pull request
Aug 19, 2025
Since c4256ad we no longer fabricate a TRANSIENT_FAILURE update from children. However, previously that would have set seenReadyOrIdleSinceTransientFailure = false and prevented future timer creation. If a LB policy gives extraneous updates with state CONNECTING, then it was possible to re-create failOverTimer which would then wait the 10 seconds for the child to finish CONNECTING. We only want to give the child one opportunity after transitioning out of READY/IDLE. grpc/proposal#509
kannanjgithub
pushed a commit
to kannanjgithub/grpc-java
that referenced
this pull request
Aug 19, 2025
…#12289) Since c4256ad we no longer fabricate a TRANSIENT_FAILURE update from children. However, previously that would have set seenReadyOrIdleSinceTransientFailure = false and prevented future timer creation. If a LB policy gives extraneous updates with state CONNECTING, then it was possible to re-create failOverTimer which would then wait the 10 seconds for the child to finish CONNECTING. We only want to give the child one opportunity after transitioning out of READY/IDLE. grpc/proposal#509
ejona86
added a commit
to grpc/grpc-java
that referenced
this pull request
Aug 19, 2025
Since c4256ad we no longer fabricate a TRANSIENT_FAILURE update from children. However, previously that would have set seenReadyOrIdleSinceTransientFailure = false and prevented future timer creation. If a LB policy gives extraneous updates with state CONNECTING, then it was possible to re-create failOverTimer which would then wait the 10 seconds for the child to finish CONNECTING. We only want to give the child one opportunity after transitioning out of READY/IDLE. grpc/proposal#509
asheshvidyut
pushed a commit
to asheshvidyut/grpc
that referenced
this pull request
Aug 22, 2025
…pc#40453) As per grpc/proposal#509. CC @ejona86 @dfawley Closes grpc#40453 COPYBARA_INTEGRATE_REVIEW=grpc#40453 from markdroth:priority_simplification 4227145 PiperOrigin-RevId: 796640653
paulosjca
pushed a commit
to paulosjca/grpc
that referenced
this pull request
Aug 23, 2025
…pc#40453) As per grpc/proposal#509. CC @ejona86 @dfawley Closes grpc#40453 COPYBARA_INTEGRATE_REVIEW=grpc#40453 from markdroth:priority_simplification 4227145 PiperOrigin-RevId: 796640653
asheshvidyut
pushed a commit
to asheshvidyut/grpc
that referenced
this pull request
Sep 12, 2025
…pc#40453) As per grpc/proposal#509. CC @ejona86 @dfawley Closes grpc#40453 COPYBARA_INTEGRATE_REVIEW=grpc#40453 from markdroth:priority_simplification 4227145 PiperOrigin-RevId: 796640653
AgraVator
pushed a commit
to AgraVator/grpc-java
that referenced
this pull request
Sep 26, 2025
…#12289) Since c4256ad we no longer fabricate a TRANSIENT_FAILURE update from children. However, previously that would have set seenReadyOrIdleSinceTransientFailure = false and prevented future timer creation. If a LB policy gives extraneous updates with state CONNECTING, then it was possible to re-create failOverTimer which would then wait the 10 seconds for the child to finish CONNECTING. We only want to give the child one opportunity after transitioning out of READY/IDLE. grpc/proposal#509
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.
No description provided.