danhuawang opened a new issue, #7355:
URL: https://github.com/apache/gravitino/issues/7355

   ### Version
   
   main branch
   
   ### Describe what's wrong
   
   Some tables loaded in postgre catalog as following
   
   <img width="338" alt="Image" 
src="https://github.com/user-attachments/assets/0e1dc42d-310e-4e4d-90f1-bbfa2cce13fd";
 />
   
   But  in Trino , I can't list these tables , and this break data preview  
process:
   
   <img width="526" alt="Image" 
src="https://github.com/user-attachments/assets/1dd5bdfe-d41a-4a71-86c8-2d1fd848dd4c";
 />
   
   ### Error message and/or stacktrace
   
   ```
   [
     "java.lang.RuntimeException: java.sql.SQLException: Query failed 
(#20250605_201352_00061_d9xb2): line 1:15: Table 
'\"\"\"test.hadoop_pg\"\"\".public.delegation_tokens' does not exist",
     "\tat 
com.datastrato.gravitino.preview.TrinoJdbcDataPreviewOperator.preview(TrinoJdbcDataPreviewOperator.java:86)",
     "\tat 
com.datastrato.gravitino.catalog.DatastratoTableOperationDispatcher.preview(DatastratoTableOperationDispatcher.java:71)",
     "\tat 
com.datastrato.gravitino.catalog.DatastratoTableHookDispatcher.preview(DatastratoTableHookDispatcher.java:34)",
     "\tat 
com.datastrato.gravitino.catalog.DatastratoTableNormalizeDispatcher.preview(DatastratoTableNormalizeDispatcher.java:49)",
     "\tat 
com.datastrato.gravitino.listener.DatastratoTableEventDispatcher.preview(DatastratoTableEventDispatcher.java:56)",
     "\tat 
com.datastrato.gravitino.server.web.rest.DataPreviewOperations.lambda$previewTable$0(DataPreviewOperations.java:77)",
     "\tat 
java.base/java.security.AccessController.doPrivileged(AccessController.java:712)",
     "\tat java.base/javax.security.auth.Subject.doAs(Subject.java:439)",
     "\tat 
org.apache.gravitino.utils.PrincipalUtils.doAs(PrincipalUtils.java:39)",
     "\tat org.apache.gravitino.server.web.Utils.doAs(Utils.java:198)",
     "\tat 
com.datastrato.gravitino.server.web.rest.DataPreviewOperations.previewTable(DataPreviewOperations.java:71)",
     "\tat jdk.internal.reflect.GeneratedMethodAccessor144.invoke(Unknown 
Source)",
     "\tat 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
     "\tat java.base/java.lang.reflect.Method.invoke(Method.java:568)",
     "\tat 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)",
     "\tat 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146)",
     "\tat 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189)",
     "\tat 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)",
     "\tat 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93)",
     "\tat 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478)",
     "\tat 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400)",
     "\tat 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)",
     "\tat 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:256)",
     "\tat org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)",
     "\tat org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)",
     "\tat org.glassfish.jersey.internal.Errors.process(Errors.java:292)",
     "\tat org.glassfish.jersey.internal.Errors.process(Errors.java:274)",
     "\tat org.glassfish.jersey.internal.Errors.process(Errors.java:244)",
     "\tat 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)",
     "\tat 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:235)",
     "\tat 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684)",
     "\tat 
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)",
     "\tat 
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)",
     "\tat 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358)",
     "\tat 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:311)",
     "\tat 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)",
     "\tat 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)",
     "\tat 
org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)",
     "\tat 
org.apache.gravitino.server.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:86)",
     "\tat 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)",
     "\tat 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)",
     "\tat 
org.apache.gravitino.server.web.VersioningFilter.doFilter(VersioningFilter.java:111)",
     "\tat 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)",
     "\tat 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)",
     "\tat 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)",
     "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)",
     "\tat 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)",
     "\tat 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)",
     "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)",
     "\tat 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)",
     "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)",
     "\tat 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)",
     "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)",
     "\tat 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)",
     "\tat 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)",
     "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)",
     "\tat 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)",
     "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)",
     "\tat 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)",
     "\tat 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)",
     "\tat org.eclipse.jetty.server.Server.handle(Server.java:516)",
     "\tat 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)",
     "\tat org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)",
     "\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)",
     "\tat 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)",
     "\tat 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)",
     "\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)",
     "\tat 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)",
     "\tat 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)",
     "\tat 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)",
     "\tat 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)",
     "\tat 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)",
     "\tat 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)",
     "\tat 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)",
     "\tat 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)",
     "\tat java.base/java.lang.Thread.run(Thread.java:833)",
     "Caused by: java.sql.SQLException: Query failed 
(#20250605_201352_00061_d9xb2): line 1:15: Table 
'\"\"\"test.hadoop_pg\"\"\".public.delegation_tokens' does not exist",
     "\tat 
io.trino.jdbc.AbstractTrinoResultSet.resultsException(AbstractTrinoResultSet.java:1937)",
     "\tat io.trino.jdbc.TrinoResultSet.getColumns(TrinoResultSet.java:318)",
     "\tat io.trino.jdbc.TrinoResultSet.create(TrinoResultSet.java:61)",
     "\tat 
io.trino.jdbc.TrinoStatement.internalExecute(TrinoStatement.java:262)",
     "\tat io.trino.jdbc.TrinoStatement.execute(TrinoStatement.java:240)",
     "\tat io.trino.jdbc.TrinoStatement.executeQuery(TrinoStatement.java:77)",
     "\tat 
org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:318)",
     "\tat 
org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:318)",
     "\tat 
com.datastrato.gravitino.preview.TrinoJdbcDataPreviewOperator.preview(TrinoJdbcDataPreviewOperator.java:79)",
     "\t... 75 more",
     "Caused by: io.trino.spi.TrinoException: line 1:15: Table 
'\"\"\"test.hadoop_pg\"\"\".public.delegation_tokens' does not exist",
     "\tat 
io.trino.sql.analyzer.SemanticExceptions.semanticException(SemanticExceptions.java:52)",
     "\tat 
io.trino.sql.analyzer.SemanticExceptions.semanticException(SemanticExceptions.java:46)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitTable(StatementAnalyzer.java:2289)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitTable(StatementAnalyzer.java:521)",
     "\tat io.trino.sql.tree.Table.accept(Table.java:60)",
     "\tat io.trino.sql.tree.AstVisitor.process(AstVisitor.java:27)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:540)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.analyzeFrom(StatementAnalyzer.java:4869)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:3062)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:521)",
     "\tat 
io.trino.sql.tree.QuerySpecification.accept(QuerySpecification.java:155)",
     "\tat io.trino.sql.tree.AstVisitor.process(AstVisitor.java:27)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:540)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:548)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:1558)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:521)",
     "\tat io.trino.sql.tree.Query.accept(Query.java:118)",
     "\tat io.trino.sql.tree.AstVisitor.process(AstVisitor.java:27)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:540)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer.analyze(StatementAnalyzer.java:500)",
     "\tat 
io.trino.sql.analyzer.StatementAnalyzer.analyze(StatementAnalyzer.java:489)",
     "\tat io.trino.sql.analyzer.Analyzer.analyze(Analyzer.java:97)",
     "\tat io.trino.sql.analyzer.Analyzer.analyze(Analyzer.java:86)",
     "\tat 
io.trino.execution.SqlQueryExecution.analyze(SqlQueryExecution.java:274)",
     "\tat 
io.trino.execution.SqlQueryExecution.<init>(SqlQueryExecution.java:209)",
     "\tat 
io.trino.execution.SqlQueryExecution$SqlQueryExecutionFactory.createQueryExecution(SqlQueryExecution.java:850)",
     "\tat 
io.trino.dispatcher.LocalDispatchQueryFactory.lambda$createDispatchQuery$0(LocalDispatchQueryFactory.java:153)",
     "\tat io.trino.$gen.Trino_435____20250605_110226_2.call(Unknown Source)",
     "\tat 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)",
     "\tat 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76)",
     "\tat 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)",
     "\tat 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)",
     "\tat 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)",
     "\tat java.base/java.lang.Thread.run(Thread.java:1583)"
   ]
   ```
   
   ### How to reproduce
   
   1. Load the a postgres (pg 11) catalog in Gravitino, table in pg database as 
following:
   
   ```
   I have no name!@hadoop-postgresql-0:/$ psql -U hive -W hive -d metastore
   psql: warning: extra command-line argument "hive" ignored
   Password: 
   psql (11.10)
   Type "help" for help.
   
   metastore=> \l
                                     List of databases
      Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access 
privileges   
   
-----------+----------+----------+-------------+-------------+-----------------------
    metastore | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres  
       +
              |          |          |             |             | 
postgres=CTc/postgres+
              |          |          |             |             | 
hive=CTc/postgres
    postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
    template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres   
       +
              |          |          |             |             | 
postgres=CTc/postgres
    template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres   
       +
              |          |          |             |             | 
postgres=CTc/postgres
   (4 rows)
   
   metastore=> \c metastore;
   Password: 
   You are now connected to database "metastore" as user "hive".
   metastore=> \dt
    public | BUCKETING_COLS            | table | hive
    public | CDS                       | table | hive
    public | COLUMNS_V2                | table | hive
    public | DATABASE_PARAMS           | table | hive
    public | DBS                       | table | hive
    public | DB_PRIVS                  | table | hive
    public | DELEGATION_TOKENS         | table | hive
    public | FUNCS                     | table | hive
    public | FUNC_RU                   | table | hive
    public | GLOBAL_PRIVS              | table | hive
    public | IDXS                      | table | hive
    public | INDEX_PARAMS              | table | hive
    public | KEY_CONSTRAINTS           | table | hive
    public | MASTER_KEYS               | table | hive
    public | NOTIFICATION_LOG          | table | hive
    public | NOTIFICATION_SEQUENCE     | table | hive
    public | NUCLEUS_TABLES            | table | hive
    public | PARTITIONS                | table | hive
    public | PARTITION_EVENTS          | table | hive
    public | PARTITION_KEYS            | table | hive
    public | PARTITION_KEY_VALS        | table | hive
    public | PARTITION_PARAMS          | table | hive
    public | PART_COL_PRIVS            | table | hive
    public | PART_COL_STATS            | table | hive
    public | PART_PRIVS                | table | hive
    public | ROLES                     | table | hive
    public | ROLE_MAP                  | table | hive
    public | SDS                       | table | hive
    public | SD_PARAMS                 | table | hive
    public | SEQUENCE_TABLE            | table | hive
    public | SERDES                    | table | hive
    public | SERDE_PARAMS              | table | hive
    public | SKEWED_COL_NAMES          | table | hive
    public | SKEWED_COL_VALUE_LOC_MAP  | table | hive
    public | SKEWED_STRING_LIST        | table | hive
    public | SKEWED_STRING_LIST_VALUES | table | hive
    public | SKEWED_VALUES             | table | hive
    public | SORT_COLS                 | table | hive
    public | TABLE_PARAMS              | table | hive
    public | TAB_COL_STATS             | table | hive
    public | TBLS                      | table | hive
    public | TBL_COL_PRIVS             | table | hive
    public | TBL_PRIVS                 | table | hive
    public | TYPES                     | table | hive
    public | TYPE_FIELDS               | table | hive
    public | VERSION                   | table | hive
    public | aux_table                 | table | hive
    public | compaction_queue          | table | hive
    public | completed_compactions     | table | hive
    public | completed_txn_components  | table | hive
    public | hive_locks                | table | hive
    public | next_compaction_queue_id  | table | hive
    public | next_lock_id              | table | hive
    public | next_txn_id               | table | hive
    public | txn_components            | table | hive
    public | txns                      | table | hive
    public | write_set                 | table | hive
   
   metastore=> 
   
   ```
   2. Use Trino (trino gravitino connector) to check these tables
   
   
   ### Additional context
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to