Sushanth Sowmyan created HIVE-6499:
--------------------------------------
Summary: 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
Reporter: Sushanth Sowmyan
Assignee: Sushanth Sowmyan
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)