This is an automated email from the ASF dual-hosted git repository. roryqi pushed a commit to branch ISSUE-6353 in repository https://gitbox.apache.org/repos/asf/gravitino.git
commit d6717ded70fc13a36e76d2e6678a6fb598f0ba41 Author: Rory <ror...@apache.org> AuthorDate: Thu Jan 23 11:06:17 2025 +0800 Use loader for chained plugin --- .../gravitino/authorization/chain/ChainedAuthorizationPlugin.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/authorizations/authorization-chain/src/main/java/org/apache/gravitino/authorization/chain/ChainedAuthorizationPlugin.java b/authorizations/authorization-chain/src/main/java/org/apache/gravitino/authorization/chain/ChainedAuthorizationPlugin.java index 83f2ce6caf..982ee38cd2 100644 --- a/authorizations/authorization-chain/src/main/java/org/apache/gravitino/authorization/chain/ChainedAuthorizationPlugin.java +++ b/authorizations/authorization-chain/src/main/java/org/apache/gravitino/authorization/chain/ChainedAuthorizationPlugin.java @@ -72,8 +72,13 @@ public class ChainedAuthorizationPlugin implements AuthorizationPlugin { try { BaseAuthorization<?> authorization = BaseAuthorization.createAuthorization(classLoader, authzProvider); + + // Load the authorization plugin with the class loader of the catalog. + // Because the JDBC authorization plugin may load JDBC driver using the class + // loader. AuthorizationPlugin authorizationPlugin = - authorization.newPlugin(metalake, catalogProvider, pluginConfig); + classLoader.withClassLoader( + cl -> authorization.newPlugin(metalake, catalogProvider, pluginConfig)); plugins.add(authorizationPlugin); } catch (Exception e) { throw new RuntimeException(e);