HansonZhu-bd opened a new issue, #11236:
URL: https://github.com/apache/gravitino/issues/11236

   ### Version
   
   main branch
   
   ### Describe what's wrong
   
   when use starrocks jdbc or dooris jdbc to list and manager external table, 
it will throw exception "Failed to extract distribution info in sql:CREATE 
EXTERNAL TABLE"
   
   ### Error message and/or stacktrace
   
   2026-05-26 18:07:41.674 ERROR [Gravitino-webserver-111] 
[org.apache.gravitino.server.web.rest.ExceptionHandlers$BaseExceptionHandler.handle(ExceptionHandlers.java:1051)]
 - Failed to operate object operation [LIST] under 
[test_starrocks.test_schema.user], reason [Failed to extract distribution info 
in sql:CREATE EXTERNAL TABLE `user` (
     `id` bigint(20) NULL COMMENT "",
     `name` varchar(128) NULL COMMENT "",
     `age` int NULL COMMENT ""
   ) ENGINE=MYSQL 
   PROPERTIES (
   "host" = "localhost",
   "port" = "3306",
   "user" = "work",
   "password" = "",
   "database" = "test_schema",
   "table" = "user"
   );]
   at 
org.apache.gravitino.catalog.starrocks.utils.StarRocksUtils.extractDistributionInfoFromSql(StarRocksUtils.java:180)
 ~[?:?]
           at 
org.apache.gravitino.catalog.starrocks.operations.StarRocksTableOperations.getDistributionInfo(StarRocksTableOperations.java:311)
 ~[?:?]
           at 
org.apache.gravitino.catalog.jdbc.operation.JdbcTableOperations.load(JdbcTableOperations.java:280)
 ~[?:?]
           at 
org.apache.gravitino.catalog.jdbc.JdbcCatalogOperations.loadTable(JdbcCatalogOperations.java:378)
 ~[?:?]
           at 
org.apache.gravitino.catalog.TableOperationDispatcher.lambda$internalLoadTable$20(TableOperationDispatcher.java:502)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.catalog.CatalogManager$CatalogWrapper.lambda$doWithTableOps$1(CatalogManager.java:155)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.utils.IsolatedClassLoader.withClassLoader(IsolatedClassLoader.java:86)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.catalog.CatalogManager$CatalogWrapper.doWithTableOps(CatalogManager.java:150)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.catalog.TableOperationDispatcher.lambda$internalLoadTable$21(TableOperationDispatcher.java:502)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.catalog.OperationDispatcher.doWithCatalog(OperationDispatcher.java:97)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.catalog.TableOperationDispatcher.internalLoadTable(TableOperationDispatcher.java:500)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.catalog.TableOperationDispatcher.lambda$loadTable$3(TableOperationDispatcher.java:117)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.lock.TreeLockUtils.doWithTreeLock(TreeLockUtils.java:49) 
~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.catalog.TableOperationDispatcher.loadTable(TableOperationDispatcher.java:117)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.rel.TableCatalog.tableExists(TableCatalog.java:86) 
~[gravitino-api-1.2.0.jar:?]
           at 
org.apache.gravitino.hook.TableHookDispatcher.tableExists(TableHookDispatcher.java:139)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.catalog.TableNormalizeDispatcher.tableExists(TableNormalizeDispatcher.java:113)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.listener.TableEventDispatcher.tableExists(TableEventDispatcher.java:199)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.utils.MetadataObjectUtil.checkMetadataObject(MetadataObjectUtil.java:185)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.tag.TagManager.listTagsInfoForMetadataObject(TagManager.java:245)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.hook.TagHookDispatcher.listTagsInfoForMetadataObject(TagHookDispatcher.java:97)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.listener.TagEventDispatcher.listTagsInfoForMetadataObject(TagEventDispatcher.java:227)
 ~[gravitino-core-1.2.1-SNAPSHOT.jar:?]
           at 
org.apache.gravitino.server.web.rest.MetadataObjectTagOperations.lambda$listTagsForMetadataObject$10(MetadataObjectTagOperations.java:184)
 ~[gravitino-server-1.2.0.jar:?]
           at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
 ~[?:?]
           at java.base/javax.security.auth.Subject.doAs(Subject.java:439) 
~[?:?]
   
   ### How to reproduce
   
   create a any kind external table in starrocks/doris, then use gravitino 
1.2.0 to config a starrocks/doris jdbc connection, and try to list tables with 
rest api or webui, it will throw exception "Failed to extract distribution info 
in sql:CREATE EXTERNAL TABLE"
   
   
   ### Additional context
   
   starrocks/doris manager external table is a typical use cases, it's not a 
resolve fail exception


-- 
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