Skip to content

[rust] fluss-rs requires a system protoc to build #3967

Description

@seokjin0414

Search before asking

  • I searched in the issues and found nothing similar.

Description

fluss-rust/crates/fluss/build.rs reruns prost-build on every build, so a system protoc is required for every consumer of the fluss-rs crate and for the Rust CI, even though FlussApi.proto only changes when the wire protocol does. Vendoring the proto into published crates (scripts/vendor-proto.sh) ships the schema, but consumers still run the codegen, so the protoc requirement stays.

Downstream, the two Fluss connectors in flight for Apache Iggy (apache/iggy#3799, apache/iggy#3782) are blocked on exactly this.

Proposal: check the generated code in instead, following the arrow-flight layout — committed prost output, a small gen crate plus regen.sh for regeneration, and a proto-up-to-date CI job that regenerates and fails on any diff so the checked-in code cannot go stale.

Re-targeted from apache/fluss-rust#661 after the Rust client moved into this repository.

Willingness to contribute

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions