apache / apache/paimon-trino

Trino paimon catalog does NOT support list schemas

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

Description

Trino v440 + Paimon 1.2.0 + JDK24

The paimon table lives on aliyun oss and I placed paimon-oss jar in plugin/paimon (also plugin/paimon/hdfs), when I want to list schemas of paimon catalog, it reported the following error:

```
io.trino.spi.TrinoException: Error listing schemas for catalog paimon: getSubject is not supported
at io.trino.metadata.MetadataListing.handleListingException(MetadataListing.java:358)
at io.trino.metadata.MetadataListing.listSchemas(MetadataListing.java:99)
at io.trino.metadata.MetadataListing.listSchemas(MetadataListing.java:90)
at io.trino.connector.informationschema.InformationSchemaPageSource.addSchemataRecords(InformationSchemaPageSource.java:331)
at io.trino.connector.informationschema.InformationSchemaPageSource.buildPages(InformationSchemaPageSource.java:227)
at io.trino.connector.informationschema.InformationSchemaPageSource.getNextPage(InformationSchemaPageSource.java:185)
at io.trino.operator.TableScanOperator.getOutput(TableScanOperator.java:266)
at io.trino.operator.Driver.processInternal(Driver.java:398)
at io.trino.operator.Driver.lambda$process$8(Driver.java:301)
at io.trino.operator.Driver.tryWithLock(Driver.java:704)
at io.trino.operator.Driver.process(Driver.java:293)
at io.trino.operator.Driver.processForDuration(Driver.java:264)
at io.trino.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:887)
at io.trino.execution.executor.dedicated.SplitProcessor.run(SplitProcessor.java:76)
at io.trino.execution.executor.dedicated.TaskEntry$VersionEmbedderBridge.lambda$run$0(TaskEntry.java:191)
at io.trino.$gen.Trino_440____20250721_074422_2.run(Unknown Source)
at io.trino.execution.executor.dedicated.TaskEntry$VersionEmbedderBridge.run(TaskEntry.java:192)
at io.trino.execution.executor.scheduler.FairScheduler.runTask(FairScheduler.java:174)
at io.trino.execution.executor.scheduler.FairScheduler.lambda$submit$0(FairScheduler.java:161)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
at java.base/java.lang.Thread.run(Thread.java:1447)
Caused by: java.lang.UnsupportedOperationException: getSubject is not supported
at java.base/javax.security.auth.Subject.getSubject(Subject.java:277)
at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:569)
at io.trino.hdfs.TrinoFileSystemCache.getInternal(TrinoFileSystemCache.java:116)
at io.trino.hdfs.TrinoFileSystemCache.get(TrinoFileSystemCache.java:91)
at org.apache.hadoop.fs.ForwardingFileSystemCache.get(ForwardingFileSystemCache.java:38)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:479)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:361)
at io.trino.hdfs.HdfsEnvironment.lambda$getFileSystem$0(HdfsEnvironment.java:110)
at io.trino.hdfs.authentication.NoHdfsAuthentication.doAs(NoHdfsAuthentication.java:25)
at io.trino.hdfs.HdfsEnvironment.getFileSystem(HdfsEnvironment.java:109)
at io.trino.hdfs.HdfsEnvironment.getFileSystem(HdfsEnvironment.java:102)
at io.trino.filesystem.hdfs.HdfsFileSystem.directoryExists(HdfsFileSystem.java:254)
at io.trino.filesystem.manager.SwitchingFileSystem.directoryExists(SwitchingFileSystem.java:117)
at io.trino.filesystem.tracing.TracingFileSystem.lambda$directoryExists$5(TracingFileSystem.java:119)
at io.trino.filesystem.tracing.Tracing.withTracing(Tracing.java:47)
at io.trino.filesystem.tracing.TracingFileSystem.directoryExists(TracingFileSystem.java:119)
at org.apache.paimon.trino.fileio.TrinoFileIO.exists(TrinoFileIO.java:132)
at org.apache.paimon.fs.FileIOUtils.checkAccess(FileIOUtils.java:44)
at org.apache.paimon.fs.FileIO.get(FileIO.java:373)
at org.apache.paimon.catalog.CatalogFactory.createUnwrappedCatalog(CatalogFactory.java:97)
at org.apache.paimon.catalog.CatalogFactory.createCatalog(CatalogFactory.java:71)
at org.apache.paimon.catalog.CatalogFactory.createCatalog(CatalogFactory.java:67)
at org.apache.paimon.trino.catalog.TrinoCatalog.lambda$initSession$0(TrinoCatalog.java:87)
at org.apache.paimon.trino.ClassLoaderUtils.runWithContextClassLoader(ClassLoaderUtils.java:30)
at org.apache.paimon.trino.catalog.TrinoCatalog.initSession(TrinoCatalog.java:72)
at org.apache.paimon.trino.TrinoMetadata.listSchemaNames(TrinoMetadata.java:292)
at io.trino.plugin.base.classloader.ClassLoaderSafeConnectorMetadata.listSchemaNames(ClassLoaderSafeConnectorMetadata.java:198)
at io.trino.tracing.TracingConnectorMetadata.listSchemaNames(TracingConnectorMetadata.java:131)
at io.trino.metadata.MetadataManager.listSchemaNames(MetadataManager.java:258)
at io.trino.tracing.TracingMetadata.listSchemaNames(TracingMetadata.java:171)
at io.trino.metadata.MetadataListing.doListSchemas(MetadataListing.java:105)
at io.trino.metadata.MetadataListing.listSchemas(MetadataListing.java:96)
... 24 more
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with org.apache.paimon.trino.catalog.TrinoMetadata.listSchemaNames and TrinoCatalog.initSession, then follow the reported path through TrinoFileIO.exists and HdfsEnvironment. Reproduce schema listing with the stated Trino, Paimon, JDK, and Aliyun OSS versions; done means listing schemas no longer fails with the getSubject error.

Written by the indexing model from the issue text.

Assessment

Tech stack
hadoop, java
Domain
databases
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.