Skip to content
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

Add gRPC reflection support to arrow flight #1706

Open
alamb opened this issue May 16, 2022 · 0 comments · May be fixed by #7009
Open

Add gRPC reflection support to arrow flight #1706

alamb opened this issue May 16, 2022 · 0 comments · May be fixed by #7009
Labels
arrow-flight Changes to the arrow-flight crate enhancement Any new improvement worthy of a entry in the changelog

Comments

@alamb
Copy link
Contributor

alamb commented May 16, 2022

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 IOx

We 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

@alamb alamb added arrow-flight Changes to the arrow-flight crate enhancement Any new improvement worthy of a entry in the changelog labels May 16, 2022
jacobsimpson added a commit to jacobsimpson/arrow-rs that referenced this issue Jan 22, 2025
Addresses apache#1706, adding a
constant to the gRPC generated code so it is possible to include the
Flight and Flight SQL APIs in a `tonic-reflection` service.

Testing:

```
grpcurl --plaintext localhost:8082 list
```
@jacobsimpson jacobsimpson linked a pull request Jan 22, 2025 that will close this issue
jacobsimpson added a commit to jacobsimpson/arrow-rs that referenced this issue Jan 22, 2025
Addresses apache#1706, adding a
constant to the gRPC generated code so it is possible to include the
Flight and Flight SQL APIs in a `tonic-reflection` service.

Testing:

```
grpcurl --plaintext localhost:8082 list
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arrow-flight Changes to the arrow-flight crate enhancement Any new improvement worthy of a entry in the changelog
Projects
None yet
1 participant