Skip to content

[ring hash] delegate to pick_first instead of creating subchannels directly#33093

Merged
markdroth merged 128 commits into
grpc:masterfrom
markdroth:dualstack3
Jun 28, 2023
Merged

[ring hash] delegate to pick_first instead of creating subchannels directly#33093
markdroth merged 128 commits into
grpc:masterfrom
markdroth:dualstack3

Conversation

@markdroth

@markdroth markdroth commented May 12, 2023

Copy link
Copy Markdown
Member

More work on the dualstack backend design:

  • Change ring_hash policy to delegate to pick_first instead of creating subchannels directly.
  • Note that, as mentioned in the WIP gRFC, because we lazily create the pick_first child policies, so there's no need to swap over to a new list as an atomic whole. As a result, we don't use the endpoint_list library in this policy; instead, we just update a map in-place.
  • Remove now-unused subchannel_list library.

markdroth and others added 30 commits March 23, 2023 17:58
@markdroth markdroth marked this pull request as ready for review June 27, 2023 22:05
@markdroth markdroth requested a review from eugeneo June 27, 2023 22:05
if (lowp > highp) {
first_index = 0;
index = 0;
break;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Unnecessary break (unless I miscounted the braces)

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.

I think this is correct. This breaks out of the while loop started on line 325.

@markdroth markdroth merged commit f09357c into grpc:master Jun 28, 2023
@copybara-service copybara-service Bot added the imported Specifies if the PR has been imported to the internal repository label Jun 28, 2023
markdroth added a commit that referenced this pull request Jun 28, 2023
mario-vimal pushed a commit to mario-vimal/grpc that referenced this pull request Jul 13, 2023
…rectly (grpc#33093)

More work on the dualstack backend design:
- Change ring_hash policy to delegate to pick_first instead of creating
subchannels directly.
- Note that, as mentioned in the WIP gRFC, because we lazily create the
pick_first child policies, so there's no need to swap over to a new list
as an atomic whole. As a result, we don't use the endpoint_list library
in this policy; instead, we just update a map in-place.
- Remove now-unused subchannel_list library.
mario-vimal pushed a commit to mario-vimal/grpc that referenced this pull request Jul 13, 2023
markdroth added a commit to markdroth/grpc that referenced this pull request Jul 14, 2023
markdroth added a commit that referenced this pull request Jul 14, 2023
This reverts the following PRs: #32692 #33087 #33093 #33427 #33568

These changes seem to have introduced some flaky crashes. Reverting
while I investigate.
mario-vimal pushed a commit to mario-vimal/grpc that referenced this pull request Jul 27, 2023
This reverts the following PRs: grpc#32692 grpc#33087 grpc#33093 grpc#33427 grpc#33568

These changes seem to have introduced some flaky crashes. Reverting
while I investigate.
markdroth added a commit that referenced this pull request Sep 7, 2023
Rolls forward the changes from #33093 and some from #33568, which were
rolled back in #33718.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bloat/improvement imported Specifies if the PR has been imported to the internal repository lang/c++ lang/core per-call-memory/neutral per-channel-memory/neutral release notes: no Indicates if PR should not be in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants