apache / apache/paimon-trino

NoClassDefFoundError: io/trino/hdfs/HdfsModule when using with MinIO

Open
#120 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
47
Forks
55
PR merge metrics
No merged PRs in 30d

Description

Description
When deploying Paimon-Trino connector in Kubernetes with a custom Trino image (based on trinodb/trino:440), I get the following error during startup:
```2026-02-10T08:01:29.746Z ERROR main io.trino.server.Server io/trino/hdfs/HdfsModule
java.lang.NoClassDefFoundError: io/trino/hdfs/HdfsModule
at org.apache.paimon.trino.TrinoConnectorFactory.create(TrinoConnectorFactory.java:103)
at org.apache.paimon.trino.TrinoConnectorFactory.create(TrinoConnectorFactory.java:80)
at io.trino.connector.DefaultCatalogFactory.createConnector(DefaultCatalogFactory.java:200)
...
```

Setup details

- Trino version: 440 (official trinodb/trino:440 image)
- Paimon-Trino version: 1.3.1 (built from source with -Dtrino.version=440)
- Build command: mvn clean install -DskipTests -Dtrino.version=440 -Dspotless.check.skip=true
- Plugin installation: all jars from target/paimon-trino-440-1.3.1-plugin.tar.gz copied to /usr/lib/trino/plugin/paimon/
- **Removed** from plugin directory: hadoop-apache-*.jar, hive-thrift-*.jar, trino-hdfs-440.jar (Hadoop/HDFS not needed, only S3/MinIO)

Catalog properties (etc/catalog/paimon.properties):
```
connector.name=paimon
paimon.catalog.type=filesystem
fs.native.classpath.enabled=true
s3.endpoint=http://***:9000
s3.aws-access-key=***
s3.aws-secret-key=***
s3.path-style-access=true
s3.ssl.enabled=false
paimon.warehouse=s3a://paimon-dev/warehouse/
paimon.file.format=parquet
```

If I do NOT remove hdfs*/hadoop* jars from the plugin directory, the error changes to:

```
2026-02-10T08:18:52.346Z ERROR main io.trino.server.Server Configuration errors:

Error: An exception was caught and reported. Message: HDFS should not be on the plugin classpath
at ConfigurationFactory.registerConfigurationClasses(ConfigurationFactory.java:186)
...
```

In older issues (#96, #101, #119) people solved "HDFS should not be on the plugin classpath" by moving Hadoop jars to paimon/hdfs/ subdirectory or patching HdfsFileSystemLoader.java in Trino, but this does not solve.

Thank you!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at org.apache.paimon.trino.TrinoConnectorFactory.create, reported at line 103, and compare the plugin contents with the Trino 440 classpath behavior in ConfigurationFactory. Review HdfsFileSystemLoader.java and reproduce the two startup outcomes using the stated Maven build and plugin layout; done means the MinIO catalog starts without the NoClassDefFoundError or the HDFS classpath error.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kubernetes
Domain
backend, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.