Backport to 1.46.x: priority and ring_hash LBs: fix interactions when using ring_hash under priority (#29332) #30253
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.
…er priority (#29332)
refactor connection delay injection from client_lb_end2end_test
fix build
fix build on older compilers
clang-format
buildifier
a bit of code cleanup
start failover time whenever the child reports CONNECTING, and don't cancel when deactivating
clang-format
rewrite test
simplify logic in priority policy
clang-format
switch to using a bit to indicate child healthiness
fix reversed comment
more changes in priority and ring_hash.
priority:
READY or IDLE more recently than TRANSIENT_FAILURE
ring_hash:
CONNECTING, we stay there until either TF or READY
subchannel connecting, just like we do after a second subchannel
reports TF, to ensure that we don't stay in CONNECTING indefinitely if
we aren't getting any new picks
subchannel list creation
creation if needed
ring_hash: fix connectivity state seen by aggregation and picker
fix obiwan error
swap the order of ring_hash aggregation rules 3 and 4
restore original test
refactor connection injector QueuedAttempt code
add test showing that ring_hash will continue connecting without picks
clang-format
don't actually need seen_failure_since_ready_ anymore
fix TSAN problem
address code review comments