Pre-check

  • [x] I am sure that all the content I provide is in English.

Search before asking

  • [x] I had searched in the issues and found no similar issues.

Apache Dubbo Component

Java SDK (apache/dubbo)

Dubbo Version

dubbo 3.3.1, jdk 17, mac os 15.3.2

Steps to reproduce this issue

  1. Define the grpc client proto file and declare the Greet method
syntax = "proto3";

option java_multiple_files = true;

package org.apache.dubbo.samples.tri.grpc;

message GreeterRequest {
  string name = 1;
}

message GreeterReply {
  string message = 1;
}

service Greeter{

  rpc Greet(GreeterRequest) returns (GreeterReply);

  rpc biStream(stream GreeterRequest) returns (stream GreeterReply);

  rpc serverStream(GreeterRequest) returns (stream GreeterReply);

}

  1. Define the triple server proto file and declare the greet method
syntax = "proto3";

option java_multiple_files = true;

package org.apache.dubbo.samples.tri.grpc;

message GreeterRequest {
  string name = 1;
}

message GreeterReply {
  string message = 1;
}

service Greeter{

  rpc greet(GreeterRequest) returns (GreeterReply);

  rpc biStream(stream GreeterRequest) returns (stream GreeterReply);

  rpc serverStream(GreeterRequest) returns (stream GreeterReply);

}

  1. Run triple server and grpc client, there are no exception and the results are returned normally
  2. Update the grpc client proto file and declare the GReet method,
syntax = "proto3";

option java_multiple_files = true;

package org.apache.dubbo.samples.tri.grpc;

message GreeterRequest {
  string name = 1;
}

message GreeterReply {
  string message = 1;
}

service Greeter{

  rpc GReet(GreeterRequest) returns (GreeterReply);
//  rpc GREET(GreeterRequest) returns (GreeterReply);
  rpc Dreet(GreeterRequest) returns (GreeterReply);

  rpc biStream(stream GreeterRequest) returns (stream GreeterReply);

  rpc serverStream(GreeterRequest) returns (stream GreeterReply);

}
  1. Run triple server and grpc client, there are excpetion,verify if the method name is not case sensitive
警告: RPC failed: Status{code=UNKNOWN, description=Cannot invoke "java.util.List.iterator()" because "methodDescriptors" is null, cause=null}

What you expected to happen

Because the official documentation does not specify whether it is case sensitive, it is recommended to be consistent with grpc rpc method case sensitive. Not just the case insensitive first character

Anything else

No response

Are you willing to submit a pull request to fix on your own?

  • [x] Yes I am willing to submit a pull request on my own!

Code of Conduct

Comment From: zrlw

it might be better to follow the standard by using TitleCase for service names and method refer to names.https://protobuf.dev/programming-guides/style

Image