You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Sushanth Sowmyan (JIRA)" <ji...@apache.org> on 2014/02/25 07:59:19 UTC

[jira] [Commented] (HIVE-6499) Using Metastore-side Auth errors on non-resolvable IF/OF/SerDe

    [ 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)