tustvold edited a comment on pull request #1887:
URL: 
https://github.com/apache/arrow-datafusion/pull/1887#issuecomment-1050884805


   > However, prost isn't able to provide a way to share/import .proto files 
between crates
   
   This link appears to just link back to this issue? FWIW it is fairly common 
for API specifications be they protobuf, OpenAPI, etc... to simply be vended 
into the client repositories. It's kind of gross, but it works. I guess it also 
gives you some notion of the version of the API that client is using... These 
proto specs shouldn't change in backwards incompatible ways, and so if your 
client is a bit out of date, it shouldn't matter by design.
   
   > types should serialize them as google::protobuf::Any
   
   My experience with `protobuf::Any` even in languages that purport to support 
it, e.g. Golang and python, is not great. The fact protobuf isn't 
self-describing makes interacting with these opaque blobs extremely 
frustrating, and it is extremely common for things to simply not work.
   
   To give an example of this, IOx's storage gRPC API has a `protobuf::Any` 
bundled in it, which prevents using tools like grpcui or grpcurl with it. In 
the end we had to add a custom CLI command to call these APIs in no small part 
because the ecosystem's support for `protobuf::Any` is so inconsistent.
   
   I dunno, perhaps there is no other option, but using `protobuf::Any` for a 
field that has a defined concrete type feels like a very large hammer...


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to