[refactor](plugin) Remove FE cloud auto-download for JDBC drivers and Java UDF - #66596
Open
CalvinKirs wants to merge 2 commits into
Open
[refactor](plugin) Remove FE cloud auto-download for JDBC drivers and Java UDF#66596CalvinKirs wants to merge 2 commits into
CalvinKirs wants to merge 2 commits into
Conversation
In cloud mode, when a JDBC catalog's `driver_url` was a bare jar name that existed in neither the new nor the old default drivers directory, FE fell back to pulling the jar from the meta-service object store via CloudPluginDownloader. The path has had no real users for a long time, and staging third-party JDBC drivers is not something the kernel should own -- shipping the jar to `$DORIS_HOME/plugins/jdbc_drivers/` is an ops/deployment concern, the same as it is in non-cloud mode. Drop the cloud branch so JDBC driver resolution is purely local and identical in both modes. When the jar is absent, FE now reports the existing `JDBC driver file does not exist: xxx` instead of a cloud download failure. CloudPluginDownloader itself is untouched: the Java UDF path still uses it.
Member
Author
|
run buildall |
Contributor
FE Regression Coverage ReportIncrement line coverage |
Contributor
TPC-H: Total hot run time: 28794 ms |
Contributor
TPC-DS: Total hot run time: 157977 ms |
Contributor
ClickBench: Total hot run time: 23.69 s |
CalvinKirs
requested review from
924060929,
englefly,
morrySnow and
starocean999
as code owners
August 10, 2026 08:50
Follow-up to the JDBC-side removal in this branch: drop the remaining FE
cloud auto-download path.
Removed:
- CloudPluginDownloader and its unit test
- CreateFunctionCommand: the Java UDF cloud-download branch
- regression-test/suites/plugin_p1/test_cloud_plugin_auto_download.groovy
Rationale: this path has had no real users for a long time, and staging
third-party jars (JDBC drivers, UDF jars) onto the nodes is a deployment
/ ops concern, not something the kernel should own. FE-side plugin
resolution is now purely local and identical in cloud and non-cloud
mode: the file is looked up under
$DORIS_HOME/plugins/{jdbc_drivers,java_udf}/, and a missing JDBC driver
is reported as such instead of being fetched from object storage.
The BE side is left untouched.
CalvinKirs
force-pushed
the
cloud_download
branch
from
August 10, 2026 09:21
d5e6fb5 to
cc6308c
Compare
Member
Author
|
run buildall |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What problem does this PR solve?
Related PR: #54304
Problem Summary:
Removes the FE cloud plugin auto-download feature.
In cloud mode, when a JDBC driver or a Java UDF was referenced by bare jar name, FE tried to fetch it from the cluster's object storage (
plugins/jdbc_drivers/...,plugins/java_udf/...) instead of resolving it locally.Two reasons to drop it:
It was also broken in practice: the downloader built S3 properties without a scheme hint, so the filesystem SPI routed them to
HdfsPropertiesand the download failed with aClassCastExceptionsurfaced asCannot download JDBC driver from cloud: ....What is removed:
CloudPluginDownloader+ its unit testJdbcResource— the JDBC driver cloud-download branchCreateFunctionCommand— the Java UDF cloud-download branchregression-test/suites/plugin_p1/test_cloud_plugin_auto_download.groovyFE-side plugin resolution is now purely local and identical in cloud and non-cloud mode.
The BE side is deliberately left untouched in this PR.
Release note
FE no longer auto-downloads JDBC drivers or Java UDF jars from object storage in cloud mode. Place the jar under
$DORIS_HOME/plugins/jdbc_drivers/or$DORIS_HOME/plugins/java_udf/(or use a full URL such asfile:///http://), the same way non-cloud deployments already do. A missing JDBC driver is now reported asJDBC driver file does not exist: <name>.Check List (For Author)
Test
Behavior changed:
Does this need documentation?