Hi David,

The current scope of the FIP is mainly focused on the query path, so Query
Gateway is intentionally positioned around query-related capabilities
rather than as a full proxy server like the Pulsar broker.

That said, whether it could evolve to support more proxy-like
functionalities in the future depends on the long-term architecture goals.
If the intention is only to provide a unified query entry point, then using
DataFusion seems reasonable. However, if there is an expectation that it
may later handle broader responsibilities, such as data reads/writes or
more general request routing, then it would be worth considering whether
the current design leaves enough room for extensibility.

Using DataFusion itself is not necessarily a blocker, but it does mean the
architecture may become more query-engine-centric. If future requirements
go significantly beyond query execution, additional abstraction layers or
architectural adjustments might be needed.

Best,
Hongshun

On Thu, Mar 12, 2026 at 4:38 AM David Reger <[email protected]>
wrote:

> Yes I think it‘s good for visibility and also motivation to contribute to
> the „official“ main repo. Other projects also include cross language stuff
> (e.g. Arrow).
>
> I cannot validate the extension of native Fluss APIs and write a more
> native gateway with bypassing Datafusion as the work was done completely by
> George Stamatakis.
>
> But I think it’s a reasonable point for the full API support and also for
> high performance use cases.
>
> Kind regards
> David
>
> > On 9. Mar 2026, at 20:40, Keith Lee <[email protected]> wrote:
> >
> > Agree strongly on the points that have been made on building gateway on
> > fluss-rust as well as benefits of monorepo.
> >
> > I’m very excited to see the possibility of bringing fluss-rust under
> fluss.
> > The collaborations we have on fluss-rust side and the language itself has
> > been a delight.
> >
> > Best regards
> > Keith Lee
> >
> >
> >> On Mon, 9 Mar 2026 at 15:42, Jark Wu <[email protected]> wrote:
> >>
> >> 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