Skip to content

[filesystem] Isolate Jindo OSS presigning dependencies (#9856) - #9880

Closed
JunRuiLee wants to merge 1 commit into
apache:release-2.1from
JunRuiLee:fix/jindo-oss-plugin-isolation-2.1
Closed

JunRuiLee wants to merge 1 commit into
apache:release-2.1from
JunRuiLee:fix/jindo-oss-plugin-isolation-2.1

Conversation

@JunRuiLee

Copy link
Copy Markdown
Contributor

Purpose

Backport of #9856 to release-2.1.

Cherry-picks upstream commit de872c4df69f2c03394e2758c3c55659e8f5888c without conflicts or additional changes. The backport has the same patch ID as the upstream commit and retains the 2.1-SNAPSHOT parent version.

Paimon 2.1 contains the OSS presigning changes introduced by #8832. Their bundled dependencies, including Gson 2.8.6, can shadow libraries supplied by an embedding application such as Doris.

This backport uses the existing PluginLoader and private-directory isolation mechanism, as in paimon-oss, for the OSS presigning implementation and its dependencies. It does not introduce another Maven module or change the shared classloader implementation or the Jindo/Hadoop filesystem loading path.

Tests

Ran the following on this release-2.1 backport with both JDK 8 and JDK 11:

mvn -B -ntp -pl paimon-filesystems/paimon-jindo -am \
  -DskipTests -Dmaven.jar.forceCreation=true clean install

mvn -B -ntp -pl paimon-filesystems/paimon-jindo \
  '-Dtest=JindoFileIOTest#testCreateBlob*+testDisable*+testKeep*' \
  -DwildcardSuites=none test

mvn -B -ntp -pl paimon-filesystems/paimon-jindo \
  surefire:test@integration-tests
  • Both clean builds passed with Checkstyle, Spotless, and Enforcer enabled. JDK 11 commands additionally used Maven offline mode.
  • Each JDK passed 4 selected unit tests and 23 automatically discovered integration tests, including all 6 JindoPluginITCase tests.
  • The module Apache RAT check passed: 16 approved licenses, 0 unknown or unapproved, excluding only the generated dependency-reduced-pom.xml.
  • Inspected the packaged JAR: no root-level OSS SDK, Gson, HttpClient, commons-logging, or Hadoop classes; all 16 dependency coordinates are present in NOTICE; the JDOM and JAXB license files match their source resources.
  • git diff --check passed.

Local verification does not include a live Doris/OSS deployment. The existing native-filesystem fallback unit test was not selected on this macOS/arm64 host; the test remains unchanged and enabled for supported environments.

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.

1 participant