gravitino icon indicating copy to clipboard operation
gravitino copied to clipboard

[Bug report] Failed to list pg table columns due to the error: Cannot invoke "java.lang.Integer.intValue()"

Open danhuawang opened this issue 8 months ago • 2 comments

Version

main branch

Describe what's wrong

Image

Error message and/or stacktrace

[ "java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "org.apache.gravitino.catalog.jdbc.converter.JdbcTypeConverter$JdbcTypeBean.getColumnSize()" is null", "\tat org.apache.gravitino.catalog.postgresql.converter.PostgreSqlTypeConverter.toGravitino(PostgreSqlTypeConverter.java:74)", "\tat org.apache.gravitino.catalog.postgresql.converter.PostgreSqlTypeConverter.toGravitinoArrayType(PostgreSqlTypeConverter.java:153)", "\tat org.apache.gravitino.catalog.postgresql.converter.PostgreSqlTypeConverter.toGravitino(PostgreSqlTypeConverter.java:48)", "\tat org.apache.gravitino.catalog.postgresql.converter.PostgreSqlTypeConverter.toGravitino(PostgreSqlTypeConverter.java:28)", "\tat org.apache.gravitino.catalog.jdbc.operation.JdbcTableOperations.getBasicJdbcColumnInfo(JdbcTableOperations.java:605)", "\tat org.apache.gravitino.catalog.postgresql.operation.PostgreSqlTableOperations.getColumnBuilder(PostgreSqlTableOperations.java:137)", "\tat org.apache.gravitino.catalog.jdbc.operation.JdbcTableOperations.load(JdbcTableOperations.java:208)", "\tat org.apache.gravitino.catalog.jdbc.JdbcCatalogOperations.loadTable(JdbcCatalogOperations.java:331)", "\tat org.apache.gravitino.catalog.TableOperationDispatcher.lambda$internalLoadTable$21(TableOperationDispatcher.java:464)", "\tat org.apache.gravitino.catalog.CatalogManager$CatalogWrapper.lambda$doWithTableOps$1(CatalogManager.java:160)", "\tat org.apache.gravitino.utils.IsolatedClassLoader.withClassLoader(IsolatedClassLoader.java:86)", "\tat org.apache.gravitino.catalog.CatalogManager$CatalogWrapper.doWithTableOps(CatalogManager.java:155)", "\tat org.apache.gravitino.catalog.TableOperationDispatcher.lambda$internalLoadTable$22(TableOperationDispatcher.java:464)", "\tat org.apache.gravitino.catalog.OperationDispatcher.doWithCatalog(OperationDispatcher.java:100)", "\tat org.apache.gravitino.catalog.TableOperationDispatcher.internalLoadTable(TableOperationDispatcher.java:462)", "\tat org.apache.gravitino.catalog.TableOperationDispatcher.lambda$loadTable$3(TableOperationDispatcher.java:116)", "\tat org.apache.gravitino.lock.TreeLockUtils.doWithTreeLock(TreeLockUtils.java:49)", "\tat org.apache.gravitino.catalog.TableOperationDispatcher.loadTable(TableOperationDispatcher.java:116)", "\tat org.apache.gravitino.rel.TableCatalog.tableExists(TableCatalog.java:71)", "\tat org.apache.gravitino.hook.TableHookDispatcher.tableExists(TableHookDispatcher.java:142)", "\tat org.apache.gravitino.catalog.TableNormalizeDispatcher.tableExists(TableNormalizeDispatcher.java:113)", "\tat org.apache.gravitino.listener.TableEventDispatcher.tableExists(TableEventDispatcher.java:199)", "\tat org.apache.gravitino.utils.MetadataObjectUtil.checkMetadataObject(MetadataObjectUtil.java:153)", "\tat org.apache.gravitino.tag.TagManager.listTagsInfoForMetadataObject(TagManager.java:241)", "\tat org.apache.gravitino.listener.TagEventDispatcher.listTagsInfoForMetadataObject(TagEventDispatcher.java:227)", "\tat org.apache.gravitino.server.web.rest.MetadataObjectTagOperations.lambda$listTagsForMetadataObject$8(MetadataObjectTagOperations.java:167)", "\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:197)", "\tat org.apache.gravitino.server.web.rest.MetadataObjectTagOperations.listTagsForMetadataObject(MetadataObjectTagOperations.java:159)", "\tat jdk.internal.reflect.GeneratedMethodAccessor90.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)" ]

How to reproduce

load pg tables that include the following types:

Image

Additional context

No response

danhuawang avatar Apr 21 '25 11:04 danhuawang

@yuqi1129 I raise this issue to track.

danhuawang avatar Apr 21 '25 11:04 danhuawang

Complicated column types in PG, like uuid, jsonb are not supported currently.

yuqi1129 avatar Apr 22 '25 02:04 yuqi1129

It's a bug and will be fixed by #9041

mchades avatar Nov 07 '25 09:11 mchades