[
https://issues.apache.org/jira/browse/HIVE-6499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sushanth Sowmyan updated HIVE-6499:
-----------------------------------
Attachment: HIVE-6499.2.patch
Updated patch to latest trunk.
> 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.2.patch, HIVE-6499.patch, 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.2#6252)