apache / apache/arrow-rs

[FlightSQL] Propose to add a `do_action_fallback_stream` interface

Open
#6,654 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.