Skip to content

A68 random subsetting (part 1)#12377

Merged
ejona86 merged 24 commits intogrpc:masterfrom
Zgoda91:A68_random_subsetting
Nov 5, 2025
Merged

A68 random subsetting (part 1)#12377
ejona86 merged 24 commits intogrpc:masterfrom
Zgoda91:A68_random_subsetting

Conversation

@Zgoda91
Copy link
Copy Markdown
Contributor

@Zgoda91 Zgoda91 commented Sep 24, 2025

implementing gRFC A65 grpc/proposal/pull/423

This change contains:

  1. Relocation of XxHash64 library, so it can be shared between util and xds projects. Proposed source directory is: third-party/zero-allocation-hashing. Usage of murmur3_128 hashing algorithm from Guava library.
  2. Implementation of RandomSubsettingLoadBalancer and RandomSubsettingLoadBalancerProvider classes and integration into the util project.
  3. Implementation of xDS conversion function for random_subsetting LB policy and as well new envoy proto message. Since envoy extensions does not support random_subsetting LB policy yet, xDS related changes will be introduced later. Envoy PR here.

@Zgoda91 Zgoda91 force-pushed the A68_random_subsetting branch from 9178308 to aefee00 Compare September 24, 2025 12:26
@Zgoda91 Zgoda91 force-pushed the A68_random_subsetting branch from aefee00 to 1870e6f Compare September 24, 2025 13:57
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
Comment thread settings.gradle Outdated
@Zgoda91
Copy link
Copy Markdown
Contributor Author

Zgoda91 commented Oct 6, 2025

@ejona86 - PR updated

@ejona86
Copy link
Copy Markdown
Member

ejona86 commented Oct 6, 2025

CC @s-matyukevich, @joybestourous

Copy link
Copy Markdown
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

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

Sending what I have. I expect I'll have a few more comments, but I suspect nothing that impacts the changes for these comments.

Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
Comment thread util/src/test/java/io/grpc/util/RandomSubsettingLoadBalancerTest.java Outdated
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
@Zgoda91
Copy link
Copy Markdown
Contributor Author

Zgoda91 commented Oct 7, 2025

@ejona86 - PR updated.

Copy link
Copy Markdown
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

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

I need to stare at BackendDetails a bit to see what's going on there with the Answer, but sending what I have.

Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancerProvider.java Outdated
Comment thread xds/src/main/java/io/grpc/xds/LoadBalancerConfigFactory.java Outdated
@Zgoda91
Copy link
Copy Markdown
Contributor Author

Zgoda91 commented Oct 8, 2025

@ejona86 - pushed changes. However, I do have two questions, which I have posted as answers to your comments.

@Zgoda91 Zgoda91 changed the title A68 random subsetting A68 random subsetting (part 1) Oct 29, 2025
Copy link
Copy Markdown
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

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

This looks good to me. I just need to figure out that one string, of whether it will be marked experimental initially.

Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancer.java Outdated
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancerProvider.java Outdated
Comment thread util/src/main/java/io/grpc/util/RandomSubsettingLoadBalancerProvider.java Outdated
@ejona86
Copy link
Copy Markdown
Member

ejona86 commented Nov 4, 2025

/gcbrun

@ejona86 ejona86 merged commit 48a4288 into grpc:master Nov 5, 2025
14 of 17 checks passed
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Feb 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants