We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
更新pb文件转成tarsgo的工具之后,发现生成的go文件中的服务名和函数名出现了变化,出现了不兼容的现象,自己无法通过请求路径携带的原始的服务名加上函数名构建invoke访问内部rpc接口。
查看原因发现是protoc-gen-go-tarsrpc中引用的是google.golang.org/protobuf/compiler/protogen,该库对函数名以及服务名都做了首字母大写的驼峰处理,具体处理为 https://github.com/protocolbuffers/protobuf-go/blob/6875c3d7242d1a3db910ce8a504f124cb840c23a/compiler/protogen/protogen.go#L860 , 但是pb2tarsgo使用的 https://github.com/protocolbuffers/protobuf 未对读取的内容做相关处理。
对该问题处理方式一个是继续使用pb2tarsgo框架代码生成工具,一个是将tarsrpc.go中的代码生成部分做统一的大小写处理。
The text was updated successfully, but these errors were encountered:
思考了一下,第二种方法将tarsrpc.go中的代码生成部分做统一的大小写处理并不能很好的将pb2tarsgo工具切换到protoc-gen-go-tarsrpc,因为protoc-gen-go-tarsrpc不仅仅改了dispatch中的func name还改了客户端调用代码中的func name,导致单个进程内如果有进行其他进程的内部调用,那么这两个进程需要同时发版升级才行。
不知道这个有没有什么比较好方法解决,还是是说pb2tarsgo工具保持不变。
Sorry, something went wrong.
1、保持使用 pb2tarsgo 2、客户端和服务端都使用新的protoc-gen-go-tarsrpc
思考了一下,第二种方法将tarsrpc.go中的代码生成部分做统一的大小写处理并不能很好的将pb2tarsgo工具切换到protoc-gen-go-tarsrpc,因为protoc-gen-go-tarsrpc不仅仅改了dispatch中的func name还改了客户端调用代码中的func name,导致单个进程内如果有进行其他进程的内部调用,那么这两个进程需要同时发版升级才行。 不知道这个有没有什么比较好方法解决,还是是说pb2tarsgo工具保持不变。
已经做兼容处理
Successfully merging a pull request may close this issue.
更新pb文件转成tarsgo的工具之后,发现生成的go文件中的服务名和函数名出现了变化,出现了不兼容的现象,自己无法通过请求路径携带的原始的服务名加上函数名构建invoke访问内部rpc接口。
查看原因发现是protoc-gen-go-tarsrpc中引用的是google.golang.org/protobuf/compiler/protogen,该库对函数名以及服务名都做了首字母大写的驼峰处理,具体处理为 https://github.com/protocolbuffers/protobuf-go/blob/6875c3d7242d1a3db910ce8a504f124cb840c23a/compiler/protogen/protogen.go#L860 ,
但是pb2tarsgo使用的 https://github.com/protocolbuffers/protobuf 未对读取的内容做相关处理。
对该问题处理方式一个是继续使用pb2tarsgo框架代码生成工具,一个是将tarsrpc.go中的代码生成部分做统一的大小写处理。
The text was updated successfully, but these errors were encountered: