How to create new gRPC service and compile it under ray protobuf

Can’t create a new gRPC service under ray protobuf

  • High: It blocks me to complete my task.

I want to create a new service under src/ray/protobuf/node_manager.proto and have defined the corresponding request and reply message service. But when I want to update the server and client function, I can’t use set_xxx to set the request parameter. When I build the project, the error of set_xxx not found will appear, even that request has the parameter xxx in the definition. I thought it may be because I need to compile the ray protobuf after the definition before I update the server and client side. I don’t know how to re-compile proto buf under ray. Anyone has some suggestions on how to create a new grpc service under ray protobuf correctly?

you can use bazel build //:ray_pkg to build protobuf

Thanks for your reply! I use bazel build//:ray_pkg to build but it still shows no set_xxx function in request rpc, even if I defined xxx parameter in the request rpc message. Could you please give me some advice on this?

I guess when running bazel build //:ray_pkg, there should be some auto-generated code from protobuf which should include set_xxx functions but those intermediate codes were deleted. Could you please give me some suggestions on how to keep these auto-generated codes?

can you try after running bazel clean --expunge?

Yes, I have tried to bazel clean and use bazel build //:ray_pkg to build again but it still has this error: ‘class ray::rpc::UpdateLabelRequest’ has no member named ‘set_xxx’

would you like to pair debugging it? you can join our slack and ping sang cho

1 Like

Thank you so much for your reply! I have just solved this bug. The new variable I set is in type map<string, string> thus I need to use mutable_xxx and insert it instead of using set_xxx. Thank you again for your help, I appreciate it!