[ https://issues.apache.org/jira/browse/HIVE-6499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sushanth Sowmyan updated HIVE-6499: ----------------------------------- Component/s: Security Metastore > 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 > > 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)