danhuawang opened a new issue, #9248: URL: https://github.com/apache/gravitino/issues/9248
### Version main branch ### Describe what's wrong Grant APPLY_TAG ALLOW privileges to Role tagRole4 on securableObjects tag tag_test1 encounter 500 ``` URL: http://192.168.194.149:8090/api/metalakes/ml_tag_priv/permissions/roles/tagRole4/tag/tag_test1/grant Status code: 500 Content Type: application/json Request Headers Accept=application/vnd.gravitino.v1+json Authorization=Basic YW5vbnltb3VzOnRlc3Q= Content-Type=application/json Content Body { "privileges": [ { "name": "APPLY_TAG", "condition": "ALLOW" } ] } Response Headers Date: Tue, 25 Nov 2025 10:28:37 GMT Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(9.4.51.v20230217) Response Body { "code": 1002, "type": "RuntimeException", "message": "Failed to operate object [tag_test1] operation [GRANT] under [tagRole4], reason [Can not get Role Entity]", "stack": [ "java.lang.RuntimeException: Can not get Role Entity", "\tat org.apache.gravitino.authorization.GravitinoAuthorizer.handleRolePrivilegeChange(GravitinoAuthorizer.java:147)", "\tat org.apache.gravitino.hook.AccessControlHookDispatcher.notifyRoleUserRelChange(AccessControlHookDispatcher.java:242)", "\tat org.apache.gravitino.hook.AccessControlHookDispatcher.grantPrivilegeToRole(AccessControlHookDispatcher.java:217)", "\tat org.apache.gravitino.listener.AccessControlEventDispatcher.grantPrivilegeToRole(AccessControlEventDispatcher.java:489)", "\tat org.apache.gravitino.server.web.rest.PermissionOperations.lambda$grantPrivilegeToRole$4(PermissionOperations.java:217)", "\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:44)", "\tat org.apache.gravitino.server.web.Utils.doAs(Utils.java:202)", "\tat org.apache.gravitino.server.web.rest.PermissionOperations.grantPrivilegeToRole(PermissionOperations.java:204)", "\tat org.apache.gravitino.server.web.rest.PermissionOperations_$$_jvst6e2_b._d5grantPrivilegeToRole(PermissionOperations_$$_jvst6e2_b.java)", "\tat jdk.internal.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)", "\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "\tat java.base/java.lang.reflect.Method.invoke(Method.java:569)", "\tat org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1268)", "\tat org.jvnet.hk2.internal.MethodInterceptorHandler$MethodInvocationImpl.proceed(MethodInterceptorHandler.java:164)", "\tat org.apache.gravitino.server.web.filter.GravitinoInterceptionService$MetadataAuthorizationMethodInterceptor.invoke(GravitinoInterceptionService.java:159)", "\tat org.jvnet.hk2.internal.MethodInterceptorHandler.invoke(MethodInterceptorHandler.java:97)", "\tat org.apache.gravitino.server.web.rest.PermissionOperations_$$_jvst6e2_b.grantPrivilegeToRole(PermissionOperations_$$_jvst6e2_b.java)", "\tat jdk.internal.reflect.GeneratedMethodAccessor136.invoke(Unknown Source)", "\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "\tat java.base/java.lang.reflect.Method.invoke(Method.java:569)", "\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.lambda$doFilter$0(AuthenticationFilter.java:89)", "\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:44)", "\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:840)", "Caused by: java.lang.UnsupportedOperationException: Don't support securable object type: TAG", "\tat org.apache.gravitino.cache.ReverseIndexRules.lambda$static$4(ReverseIndexRules.java:141)", "\tat com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)", "\tat org.apache.gravitino.cache.ReverseIndexRules.lambda$static$5(ReverseIndexRules.java:83)", "\tat org.apache.gravitino.cache.ReverseIndexCache.indexEntity(ReverseIndexCache.java:120)", "\tat org.apache.gravitino.cache.CaffeineEntityCache.syncEntitiesToCache(CaffeineEntityCache.java:379)", "\tat org.apache.gravitino.cache.CaffeineEntityCache.lambda$put$13(CaffeineEntityCache.java:308)", "\tat org.apache.gravitino.cache.SegmentedLock.withLock(SegmentedLock.java:89)", "\tat org.apache.gravitino.cache.CaffeineEntityCache.put(CaffeineEntityCache.java:304)", "\tat org.apache.gravitino.storage.relational.RelationalEntityStore.lambda$get$0(RelationalEntityStore.java:143)", "\tat org.apache.gravitino.cache.SegmentedLock.withLockAndThrow(SegmentedLock.java:143)", "\tat org.apache.gravitino.cache.CaffeineEntityCache.withCacheLock(CaffeineEntityCache.java:341)", "\tat org.apache.gravitino.storage.relational.RelationalEntityStore.get(RelationalEntityStore.java:134)", "\tat org.apache.gravitino.authorization.GravitinoAuthorizer.handleRolePrivilegeChange(GravitinoAuthorizer.java:141)", "\t... 87 more" ] } ``` ### Error message and/or stacktrace see above ### How to reproduce 1. (service admin user) create a metalake, a role and a tag 2. (the metalake owner) grant APPLY_TAG ALLOW privileges to the role on the securableObjects tag ### 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]
