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 manually 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]
