Add gRPC reflection support to arrow flight #1706
Labels
arrow-flight
Changes to the arrow-flight crate
enhancement
Any new improvement worthy of a entry in the changelog
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
We like to use the gRPC service reflection, via
grpcurl --plaintext localhost:8082 list
, to list gRPC services in IOxWe have a flight based service that does not appear in the service list (see https://github.com/influxdata/influxdb_iox/issues/4543)
I think this is because the arrow-flight library doesn't create the appropriate gRPC descriptors.
Describe the solution you'd like
Whatever is needed so that https://crates.io/crates/tonic-reflection can be used to provide reflection services to arrow-flight
@tustvold suggests:
I think we would likely need to make the generated descriptor set available as a constant within the produced binary, so that it can be passed to the reflection https://docs.rs/tonic-reflection/0.4.0/tonic_reflection/server/struct.Builder.html.
Effectively all gRPC reflection is, is a service that returns the compiled descriptor sets, which in turn are just a parsed version of the proto files, represented as protobuf - https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto
Additional context
Here is an attempt (that didn't work): #1686
The text was updated successfully, but these errors were encountered: