Skip to content

Conversation

murgatroid99
Copy link
Member

This fixes #2666. After #2561, round_robin delegates to pick_first for each endpoint. As a result, it runs into essentially the same problem pick_first had that was fixed in #2619: once a child has a READY->IDLE transition, nothing triggers it to start connecting again. round_robin is supposed to have every child connected or connecting at all times, so the fix is to have the child reconnect immediately after it goes to IDLE.

The test is in the xDS package because that is where the problem was detected, because round_robin is used much more in the xDS context.

Note that this won't impact the channel-level idle timeout, because the channel discards the current LB policy when it goes idle.

@murgatroid99 murgatroid99 merged commit 513a61a into grpc:@grpc/[email protected] Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants