[
https://issues.apache.org/jira/browse/HIVE-3799?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phabricator updated HIVE-3799:
------------------------------
Attachment: HIVE-3799.D7719.2.patch
navis updated the revision "HIVE-3799 [jira] Better error message if
metalisteners or hookContext cannot be loaded/instantiated".
Reviewers: JIRA
Added test case
Hooks are instantiated by Class.newInstance(), which unwraps
InvocationTargetException inside, so removed unwrapping logic
REVISION DETAIL
https://reviews.facebook.net/D7719
AFFECTED FILES
metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
metastore/src/test/org/apache/hadoop/hive/metastore/TestMetaStoreListenersError.java
To: JIRA, navis
Cc: zhenxiao
> Better error message if metalisteners or hookContext cannot be
> loaded/instantiated
> ----------------------------------------------------------------------------------
>
> Key: HIVE-3799
> URL: https://issues.apache.org/jira/browse/HIVE-3799
> Project: Hive
> Issue Type: Improvement
> Components: Diagnosability, Logging
> Reporter: Sudhanshu Arora
> Assignee: Navis
> Priority: Trivial
> Attachments: HIVE-3799.D7719.1.patch, HIVE-3799.D7719.2.patch
>
>
> If I am not able to instantiate MetaListener or HookContext because of some
> dependent class missing, the only error I get is InvocationTargetException.
> MetaStoreUtils.getMetaListener should be changed as following:
> try {
> T listener = (T) Class.forName(
> listenerImpl.trim(), true,
> JavaUtils.getClassLoader()).getConstructor(
> Configuration.class).newInstance(conf);
> listeners.add(listener);
> } catch (InvocationTargetException e) {
> throw new MetaException("Failed to instantiate listener named: "+
> listenerImpl + " reason: " + e.getCause().toString());
> } catch (Exception e) {
> throw new MetaException("Failed to instantiate listener named: "+
> listenerImpl + " reason: " + e.toString());
> }
> Similarly Driver.getHooks should be changed to handle
> InvocationTargetException in a better way.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira