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]