Hi David,

I really appreciate this proposal. It represents a significant step
forward and opens up new possibilities for the Fluss project.

I have uploaded the FIP markdown to the Apache cwiki to improve
readability and granted you edit permissions. You can access and
modify the document here:
https://cwiki.apache.org/confluence/display/FLUSS/FIP-32%3A+Multiprotocol+Query+Gateway+for+Apache+Fluss

Overall, I think the proposal is well structured. Below are some
detailed comments for further consideration:

**1. Repository Strategy**
I am a strong advocate for Rust and fully support leveraging
DataFusion and fluss-rust to build the gateway. Given that the gateway
will become a critical component of Fluss, handling lightweight query
execution tasks, adopting Rust and DataFusion from the outset provides
a solid foundation for performance and reliability.

However, we need to carefully consider project dependency management.
The current dependency chain Fluss gateway depends on fluss-rust,
which in turn depends on fluss repo means that releasing a new feature
would require three separate repository releases. This could delay
feature availability to users by nearly a year, which is inefficient.
I suggest consolidating fluss-rust and fluss-gateway into the Fluss
main repository (we can do this after the first release of
fluss-rust). This approach would not only streamline the release
process but also encourage more contributors to participate in
Rust-related development and accelerate community iteration across the
Rust, CLI, and gateway ecosystems.

**2. Separate into multiple FIPs
I recommend splitting this proposal into multiple FIPs. The primary
FIP should focus on the Gateway architecture, covering design
decisions related to dependencies, language choice, repository
structure, and essential features such as ACL support. Within this
Gateway FIP, we can reference REST, ADBC, and PostgreSQL protocols in
a high-level overview without subjecting them to the formal voting
process. Each protocol should then have its own dedicated FIP to
address protocol-specific complexities, including supported APIs,
implementation details, and versioning strategies. This modular
approach will make the review process more focused and manageable.

**3. Configuration File Format**
Fluss currently uses YAML for configuration files, which ensures
consistency across different environments such as Flink SQL, shell
commands, and Docker Compose. To maintain this uniformity, I suggest
starting with YAML for the gateway configuration as well. This will
provide a consistent external API for users. We can consider
supporting additional formats like TOML or JSON in the future based on
community feedback.

**4. Connection Parameter**
We should adopt the standard `bootstrap.servers` parameter for the
gateway to connect to the Fluss cluster, rather than using
`coordinator_address`. The coordinator address may change due to
failover or scaling events, whereas bootstrap servers provide a stable
entry point for client discovery and connection.

**5. DataFusion as an Optional Component**
While DataFusion is a powerful query engine, it may not be the optimal
choice for all gateway use cases. Some scenarios, such as
high-frequency, lightweight lookup_kv or produce_log operations, could
experience performance bottlenecks due to DataFusion's planning and
conversion overhead. Furthermore, certain Fluss-specific APIs are not
supported by DataFusion. I propose making DataFusion an optional
library that gateway implementations can choose to integrate. This
design would also allow bypassing DataFusion entirely and calling the
fluss-rust client directly when appropriate, providing greater
flexibility and performance optimization opportunities.

Please let me know your thoughts on these suggestions. I am happy to
discuss further and help refine the proposal.

Best regards,
Jark

On Sat, 7 Mar 2026 at 12:08, ForwardXu <[email protected]> wrote:
>
> Hi David,
>
>
> Thanks a lot for sharing the FIP-32 draft and George’s prototype work on the 
> multiprotocol query gateway!
>
>
> Supporting multiple protocols (especially Flight SQL) via Apache DataFusion 
> is a great direction for Fluss, and I fully support this initiative.&nbsp;
>
>
> I’ve checked the repo and have one quick question: will this gateway be 
> designed to be pluggable, so that we can easily add new protocols in the 
> future?
>
>
> Looking forward to further discussions, and I’m happy to help with any 
> reviews or testing.
>
>
> Best,
> Forward
>
>          原始邮件
>
>
> 发件人:David Reger <[email protected]&gt;
> 发件时间:2026年3月7日 07:39
> 收件人:dev <[email protected]&gt;
> 主题:[DISCUSS] FIP-32 Multiprotocol Query Gateway for Apache Fluss
>
>
>
>        Hey&nbsp;together,
>
> Thanks&nbsp;to&nbsp;George&nbsp;we&nbsp;have&nbsp;already&nbsp;a&nbsp;nice&nbsp;draft&nbsp;of&nbsp;a&nbsp;query&nbsp;gateway&nbsp;using&nbsp;Apache&nbsp;Datafusion&nbsp;du&nbsp;support&nbsp;multiple&nbsp;protocols&nbsp;especially&nbsp;Flight&nbsp;SQL.
>
> His&nbsp;Repo&nbsp;is&nbsp;here&nbsp;https://github.com/gstamatakis95/fluss/tree/feature/query-gateway.
>
> Based&nbsp;on&nbsp;his&nbsp;work&nbsp;I&nbsp;created&nbsp;a&nbsp;FIP&nbsp;to&nbsp;further&nbsp;discuss&nbsp;how&nbsp;the&nbsp;query&nbsp;gateway&nbsp;fits&nbsp;into&nbsp;the&nbsp;project&nbsp;and&nbsp;how&nbsp;we&nbsp;want&nbsp;to&nbsp;integrate&nbsp;and&nbsp;extend&nbsp;it&nbsp;further.
>
> You&nbsp;can&nbsp;find&nbsp;the&nbsp;FIP&nbsp;Draft&nbsp;here&nbsp;https://drive.google.com/file/d/1CC_uSQjtQmlMNGZyyHXr9K162BpKZvZO/view?usp=drivesdk
>
> Thank&nbsp;you&nbsp;and&nbsp;I&nbsp;appreciate&nbsp;every&nbsp;feedback.
>
> Kind&nbsp;regards
> David&nbsp;

Reply via email to