Skip to content

[lake] Ensure LakeStoragePlugin uses the plugin classloader for all operations#1224

Merged
luoyuxia merged 5 commits into
apache:mainfrom
beryllw:lakestorage-wrap
Jul 3, 2025
Merged

[lake] Ensure LakeStoragePlugin uses the plugin classloader for all operations#1224
luoyuxia merged 5 commits into
apache:mainfrom
beryllw:lakestorage-wrap

Conversation

@beryllw

@beryllw beryllw commented Jun 27, 2025

Copy link
Copy Markdown
Contributor

Purpose

Linked issue: close #1168

Brief change log

Use plugin classloader as thread current classloader, and ensure LakeStoragePlugin uses the plugin classloader for all operations

Tests

com.alibaba.fluss.lake.lakestorage.LakeStorageTest

API and Format

Documentation

@CLAassistant

CLAassistant commented Jun 27, 2025

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@beryllw beryllw force-pushed the lakestorage-wrap branch from c27583b to 7c73460 Compare June 27, 2025 06:56

@luoyuxia luoyuxia left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@beryllw Thanks for the PR. Only left minor comments. Otherwise, LGTM.
Besides, could you please verify this pr in your own env to make this pr fix the problem that the issue describes.

@beryllw

beryllw commented Jun 30, 2025

Copy link
Copy Markdown
Contributor Author

Could you please verify this pr in your own env to make this pr fix the problem that the issue describes.

Yes. I encountered an issue where plugin HDFS and Paimon can't use Kerberos authentication with the plugin class loader. We might need a PR to fix this. Additionally, shading org.apache.commons is necessary to prevent conflicts between Fluss and the Hadoop dependencies on the machine.

@beryllw

beryllw commented Jul 2, 2025

Copy link
Copy Markdown
Contributor Author

Plugin HDFS and Paimon can't use Kerberos authentication with the plugin class loader.

By setting plugin.classloader.parent-first-patterns.default=java.,com.alibaba.fluss.,javax.annotation.,org.slf4j,org.apache.log4j,org.apache.logging,org.apache.commons.logging,ch.qos.logback,hdfs-site,core-site,org.apache.hadoop.,META-INF to include the necessary patterns, the problem can be resolved.

@beryllw beryllw requested a review from luoyuxia July 2, 2025 08:22

@luoyuxia luoyuxia left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@beryllw Thanks for update. Left minor comments. Otherwise, LGTM!

@luoyuxia luoyuxia left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks. LGTM!

@beryllw beryllw requested a review from luoyuxia July 3, 2025 01:57
@luoyuxia luoyuxia merged commit 21a1d89 into apache:main Jul 3, 2025
3 of 5 checks passed
polyzos pushed a commit to polyzos/fluss that referenced this pull request Aug 30, 2025
polyzos pushed a commit to HZY-Wade/fluss that referenced this pull request Aug 31, 2025
Ugbot pushed a commit to Ugbot/fluss that referenced this pull request Apr 26, 2026
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.

Use Paimon Hive Catalog with hiveconf configured will throw No FileSystem for scheme: file

3 participants