[FlightSQL] Propose to add a `do_action_fallback_stream` interface
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 1.3k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 169
Description
**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
Our database project utilizes FlightSQL and gRPC services, with FlightSQL serving as the external-facing service and gRPC as the internal-facing service. We are exploring the unification of our services by replacing the internal gRPC service with FlightSQL. We believe this transition could simplify our codebase and make some operations more efficient, such as transmitting data between cluster nodes, since we can now transfer data in the native arrow columnar format rather than our own row format.
However, the current FlightSQL interfaces do not offer an interface for services to perform specific actions and return a stream of record batches. While there is a `do_get_fallback` method available, we feel it does not adequately meet our requirements, since it does not provide a type field for recognizing an action.
To address this, we propose adding a `do_action_fallback_stream` interface to the FlightSQL service, enabling users to achieve the functionality we envision.
**Describe the solution you'd like**
**Describe alternatives you've considered**
**Additional context**
Contributor guide
Research direction
Start by reading the FlightSQL service interface and the existing do_get_fallback method. Compare how actions are identified with the requested type field, then determine the API and streaming behavior needed for do_action_fallback_stream. Done means services can perform typed actions and return a stream of record batches.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100