[ 
https://issues.apache.org/jira/browse/HIVE-6499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13911327#comment-13911327
 ] 

Sushanth Sowmyan commented on HIVE-6499:
----------------------------------------

Created review board link : https://reviews.apache.org/r/18456/

[~thejas], could you please review this?

[~owen.omalley], this is a bug that you pinged me about, if you could test that 
it works for your usecase as well, that'd be great.

> Using Metastore-side Auth errors on non-resolvable IF/OF/SerDe
> --------------------------------------------------------------
>
>                 Key: HIVE-6499
>                 URL: https://issues.apache.org/jira/browse/HIVE-6499
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore, Security
>            Reporter: Sushanth Sowmyan
>            Assignee: Sushanth Sowmyan
>         Attachments: HIVE-6499.patch
>
>
> In cases where a user needs to use a custom IF/OF/SerDe that is not 
> accessible from the metastore, calls like msc.createTable and msc.dropTable 
> should still work without being able to load the class. This is possible as 
> long as one does not enable MetaStore-side authorization, at which point this 
> becomes impossible, erroring out with a ClassNotFoundException.
> The reason this happens is that since the AuthorizationProvider interface is 
> defined against a ql.metadata.Table, we wind up needing to instantiate a 
> ql.metadata.Table object, which, in its constructor tries to instantiate 
> IF/OF/SerDe elements in an attempt to pre-load those fields. And if we do not 
> have access to those classes in the metastore, this is when that fails. The 
> constructor/initialize methods of Table and Partition do not really need to 
> pre-initialize these fields, since the fields are accessed only through the 
> accessor, and will be instantiated on first-use.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to