-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
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
service reflection: include transitive closure for a file #3851
service reflection: include transitive closure for a file #3851
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you confirm grpcurl
and/or grpc_cli
is happy with this? And were you able to reproduce the problem first?
Could you make sure there is a test for this functionality? If a unit test is too tedious, I'd be okay with a shell script that runs grpcurl
and requires this functionality, that we run as part of the "extras" travis target.
I got a simple server running with the C++ implementation and |
How simple is this service? Does the Request/Response for your method include a proto message defined in another package? Can you share your example and what you ran and what the output was? |
Here is the service I created to test.
|
You're just doing a |
The output with grpcurl, on the go server, with the simple server provided is now as follows
I see there are two file descriptors sent, however the 2nd one is different with the go server than with the C++ server? The first is identical in both. |
(Reassigning to reflect that we're waiting on more information about how this behaves when a normal RPC is called via |
File descriptor for messages.proto (which is imported) from the C++ server is as follows, followed by the go server. Looks like go just has a
|
reflection/serverreflection_test.go
Outdated
t.Errorf("FileByFilename(%v)\nreceived: %q,\nwant: %q", filename, r.GetFileDescriptorResponse().FileDescriptorProto[0], fdProto2Ext2Byte) | ||
} | ||
if expectClosure { | ||
if len(r.GetFileDescriptorResponse().FileDescriptorProto) < 2 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
!= 2
would be even more precise.
Fixes #2949.