You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@sentry.apache.org by "Zhihua Deng (Jira)" <ji...@apache.org> on 2020/09/28 09:07:00 UTC

[jira] [Updated] (SENTRY-2559) DefaultSentryValidator: Use session's specified classloader to load the udf class

     [ https://issues.apache.org/jira/browse/SENTRY-2559?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhihua Deng updated SENTRY-2559:
--------------------------------
    Summary: DefaultSentryValidator: Use session's specified classloader to load the udf class  (was: DefaultSentryValidator: Use session's specified classloader to load the udf class instead)

> DefaultSentryValidator: Use session's specified classloader to load the udf class
> ---------------------------------------------------------------------------------
>
>                 Key: SENTRY-2559
>                 URL: https://issues.apache.org/jira/browse/SENTRY-2559
>             Project: Sentry
>          Issue Type: Improvement
>          Components: Hive V2
>    Affects Versions: 1.7.1
>            Reporter: Zhihua Deng
>            Priority: Major
>         Attachments: SENTRY-2559.001.patch
>
>
> When hive creating functions, a ClassNotFoundException may be thrown if the corresponding external jar is added to the session:
>  
> Caused by: org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzPluginException: Error retrieving udf class
> at org.apache.sentry.binding.hive.v2.authorizer.DefaultSentryValidator.addExtendHierarchy(DefaultSentryValidator.java:321)
> at org.apache.sentry.binding.hive.v2.authorizer.DefaultSentryValidator.checkPrivileges(DefaultSentryValidator.java:181)
> ... 23 more
> Caused by: java.lang.ClassNotFoundException: com.xxx.IP2Address
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at org.apache.sentry.binding.hive.v2.authorizer.DefaultSentryValidator.addExtendHierarchy(DefaultSentryValidator.java:305)
>  
> Use session's specified classloader to load the udf class instead



--
This message was sent by Atlassian Jira
(v8.3.4#803005)