A27: eds lb_endpoints load_balancing_weight support

46 views
Skip to first unread message

echo...@gmail.com

unread,
Aug 2, 2020, 3:09:48 AM8/2/20
to grpc.io
Hey folks,

I am looking into implementing getting this information from eDS response and weighted round robin policy with edf scheduling picker. I am new to grpc codebase. Please help me on following question.

I found the easiest way to pass information to picker is adding a field "lb_weight" to ServerAddress (src/core/ext/filters/client_channel/server_address.h). does it sound good? or any other suggestions?

yishu

Mark D. Roth

unread,
Aug 3, 2020, 1:06:18 PM8/3/20
to echo...@gmail.com, grpc.io
We've talked about doing something like this.  You will need a way to store the endpoint weight in the ServerAddress, but we don't want to add a top-level field for this.  Instead, I've thrown together https://github.com/grpc/grpc/pull/23716 to give you a mechanism to do this.

Also, note that neither the C-core LB policy API nor the XdsClient API are currently public APIs, which means that you'll probably need to contribute this new LB policy to gRPC instead of maintaining it separately.  And since this is functionality that will probably also be desired in Java and Go, I suggest writing a gRFC for how this will work, so that anyone who implements it in those languages later will be able to build a compatible implementation.

If you'd like to talk further about how this needs to work, please let me know.  Good luck!

--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/102fffee-9733-4d89-afe2-c25a10594de8n%40googlegroups.com.


--
Mark D. Roth <ro...@google.com>
Software Engineer
Google, Inc.

Yi-Shu Tai

unread,
Aug 3, 2020, 4:34:50 PM8/3/20
to Mark D. Roth, grpc.io
I am happy to contribute the change to gRPC. I will put up a RFC first and we can iterate on that. However, I am new to github and grpc, so it may take me some time to finish it. I don't want to block other people because of my slowness. Do you have an ETA of this feature in mind?

btw, we have initiated a discussion https://github.com/grpc/grpc-go/issues/2827 last year in grpc-go. I can work on core and Go. 
--
戴翊書
Yi-Shu Tai
M.S. UCSD CS 2017

Mark D. Roth

unread,
Aug 3, 2020, 4:42:15 PM8/3/20
to Yi-Shu Tai, grpc.io
I don't think there's any deadline for this.  This is not a feature that grpc-team is planning to work on, so it's up to you and other OSS developers to contribute it if it's something you want.  Unless someone beats you to it, I'd say go for it!

Yi-Shu Tai

unread,
Aug 17, 2020, 1:46:53 AM8/17/20
to Mark D. Roth, grpc.io
Hey folks,

I submitted a PR https://github.com/grpc/proposal/pull/202. Please take a look and any comments, suggestions about scope, logic, wording,... etc are very welcome.

Thanks,
yishu
--
戴翊書
Yi-Shu Tai
Software Engineer @Dropbox
Reply all
Reply to author
Forward
0 new messages