Skip to content

Conversation

@luoyuxia
Copy link
Contributor

@luoyuxia luoyuxia commented Jan 30, 2026

Purpose

Linked issue: close #2426

Brief change log

  • Not bundle paimon-bundie jar in fluss-lake-paimon

Tests

verify it in local env manually.

API and Format

Documentation

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request refactors the fluss-lake-paimon module to provide a "thin" JAR that no longer bundles the Paimon dependency. This change addresses the class conflict issues that occurred when users had different versions of Paimon in their environment, as described in issue #2426.

Changes:

  • Converted fluss-lake-paimon to a thin JAR by marking paimon-bundle and fluss-common dependencies as provided scope
  • Removed the Maven Shade plugin configuration that previously bundled Paimon classes
  • Updated build configuration to include paimon-bundle as a separate JAR in the plugin distribution
  • Added comprehensive documentation updates explaining version compatibility, migration steps, and new deployment requirements

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
fluss-lake/fluss-lake-paimon/pom.xml Changed dependency scopes to provided and removed shading configuration for thin JAR approach
fluss-dist/pom.xml Added paimon-bundle as compile dependency for plugin distribution
fluss-dist/src/main/assemblies/plugins.xml Updated assembly to explicitly include paimon-bundle without transitive dependencies
website/docs/streaming-lakehouse/integrate-data-lakes/paimon.md Added version compatibility table and updated prerequisites to include paimon-bundle download
website/docs/quickstart/flink.md Added paimon-bundle download step to the quickstart guide
website/docs/maintenance/tiered-storage/lakehouse-storage.md Added instruction to download and place paimon-bundle JAR
website/docs/maintenance/operations/upgrade-notes-0.9.md Added migration guide for users upgrading from v0.8, with compatibility information and deployment steps

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


##### Prerequisites
Download the [fluss-lake-paimon-$FLUSS_VERSION$.jar](https://repo1.maven.org/maven2/org/apache/fluss/fluss-lake-paimon/$FLUSS_VERSION$/fluss-lake-paimon-$FLUSS_VERSION$.jar), and place it into `${FLINK_HOME}/lib`.
Download the [fluss-lake-paimon-$FLUSS_VERSION$.jar](https://repo1.maven.org/maven2/org/apache/fluss/fluss-lake-paimon/$FLUSS_VERSION$/fluss-lake-paimon-$FLUSS_VERSION$.jar) and [paimon-bundle jar](https://repo.maven.apache.org/maven2/org/apache/paimon/paimon-bundle/1.3.1/paimon-bundle-1.3.1.jar), and place it into `${FLINK_HOME}/lib`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One question — I can see that the Paimon version for the downloads are currently hardcoded to the 1.3.1 release. Would it be useful to store this in a separate variable to better support future changes (e.g. PAIMON_VERSION)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good suggestion

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good suggestion. What do you think @luoyuxia ?

Copy link
Contributor

@rionmonster rionmonster left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left one comment, which isn't at all required. Otherwise, looks good. Approving!

@luoyuxia luoyuxia changed the title make fluss-lake thin [paimon] Not bundle paimon in fluss-lake-paimon to avoid class conflict Feb 2, 2026
@luoyuxia luoyuxia requested a review from wuchong February 2, 2026 02:17
@luoyuxia
Copy link
Contributor Author

luoyuxia commented Feb 2, 2026

@wuchong Could you please review it when you got some time?

Comment on lines 57 to 58
"$PAIMON_VERSION$": "1.3.1",
"$PAIMON_VERSION_SHORT$": "1.3"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn’t hard-code the Paimon version in index.js, as this file is shared across all versioned documentation sites.

For example, if we release Fluss 0.9 with Paimon 1.3.1, and later upgrade to Paimon 1.4.1 in a subsequent Fluss version, the shared index.js would incorrectly update the 0.9 documentation to reference Paimon 1.4.1—even though that combination was never tested and may be incompatible.

To ensure version accuracy and isolation, we should move such version-specific variables into fluss-versions.json, where they can be properly scoped per Fluss release.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the explantion!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor fluss-lake-paimon packaging to provide thin JARs

3 participants