Skip to content

A117: Ring Hash exit_idle behavior changes#549

Open
dfawley wants to merge 2 commits into
grpc:masterfrom
dfawley:ring_hash_exit_idle
Open

A117: Ring Hash exit_idle behavior changes#549
dfawley wants to merge 2 commits into
grpc:masterfrom
dfawley:ring_hash_exit_idle

Conversation

@dfawley
Copy link
Copy Markdown
Member

@dfawley dfawley commented May 15, 2026

Abstract

Update the Ring Hash LB policy to create connections when expliictly requested
by the channel to do so, instead of ignoring the request.

@dfawley dfawley force-pushed the ring_hash_exit_idle branch 5 times, most recently from f7e6a0c to b036491 Compare May 18, 2026 20:59
@dfawley dfawley force-pushed the ring_hash_exit_idle branch from b036491 to 05b91aa Compare May 18, 2026 20:59
@dfawley dfawley requested review from ejona86 and markdroth May 18, 2026 21:00
@dfawley
Copy link
Copy Markdown
Member Author

dfawley commented May 18, 2026

This PR is ready for review now.

Copy link
Copy Markdown
Contributor

@atollena atollena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment thread A117-ring-hash-exit-idle.md Outdated

This proposal makes two behavior changes:

1. Ring Hash should enter the CONNECTING state when the channel requests it to
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"if it is IDLE"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

> It does not matter which IDLE endpoint is chosen; that is left up to the
> implementation to determine.

Using a randomized endpoint will ensure that load is distributed evenly
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: it will not be distributed based on the weight of the endpoint. But picks will still wake up higher-weighted backends soon thereafter, so this seems fine.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a clarifying note. Let me know if this behavior is preferred or if we do want to take weights into account.

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.

4 participants