Beyond this, I believe a monorepo would be more friendly to coding
agents by providing them with a more complete code context. This
approach would significantly improve efficiency in cross-language
implementations, such as porting features from Java to Rust. I view
this transition as a proactive and necessary step for the Fluss
project to move fast in the era of AI.

Additionally, if the community considers merging repositories a viable
option, this initiative warrants a dedicated DISCUSS and vote thread.
Such a change requires at least three binding votes from PPMC members,
whereas a FIP only requires three binding votes from committers.

Best,
Jark

On Mon, 9 Mar 2026 at 21:33, yuxia <[email protected]> wrote:
>
> Thanks David for start the discussion.
>
> I'm big +1 to use Rust to build the gateway for
> - Performance: Rust avoids GC pauses, which is valuable for high-QPS gateway 
> workloads
> - Ecosystem: Rust integrates naturally with Arrow/DataFusion/Flight SQL, and 
> has mature PostgreSQL protocol libraries.
> - Industry momentum: More infrastructure projects are adopting Rust for 
> gateway layers (e.g., sglang-gateway, a Rust-based AI gateway)
>
> Also, as one the core maintainers of fluss-rust, I'm also +1 to move 
> fluss-rust to fluss main repo after the first release of fluss-rust for
> - Faster feature delivery: It removes multi-repo release chaining and 
> shortens time-to-user for fixes and new features.
> - More contributors: A unified repo can attract broader contributor 
> participation across Java/Rust/gateway areas.
> - Better developer workflow: Developers can change Java + Rust + gateway code 
> in one PR, reducing coordination overhead and improving review efficiency.
>
> Best regards,
> Yuxia
>
> ----- 原始邮件 -----
> 发件人: "Jark Wu" <[email protected]>
> 收件人: "dev" <[email protected]>
> 发送时间: 星期一, 2026年 3 月 09日 下午 8:50:08
> 主题: Re: [DISCUSS] FIP-32 Multiprotocol Query Gateway for Apache Fluss
>
> 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