You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Sangjin Lee (JIRA)" <ji...@apache.org> on 2016/02/05 22:40:39 UTC

[jira] [Updated] (HADOOP-12773) HBase classes fail to load with client/job classloader enabled

     [ https://issues.apache.org/jira/browse/HADOOP-12773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sangjin Lee updated HADOOP-12773:
---------------------------------
    Attachment: HADOOP-12773.01.patch

> HBase classes fail to load with client/job classloader enabled
> --------------------------------------------------------------
>
>                 Key: HADOOP-12773
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12773
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: util
>    Affects Versions: 2.6.3
>            Reporter: Sangjin Lee
>            Assignee: Sangjin Lee
>         Attachments: HADOOP-12773.01.patch
>
>
> Currently if a user uses HBase and enables the client/job classloader, the job fails to load HBase classes. For example,
> {noformat}
> java.lang.NoClassDefFoundError: Lorg/apache/hadoop/hbase/client/HBaseAdmin;
> 	at java.lang.Class.getDeclaredFields0(Native Method)
> 	at java.lang.Class.privateGetDeclaredFields(Class.java:2509)
> 	at java.lang.Class.getDeclaredField(Class.java:1959)
> 	at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1703)
> 	at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:72)
> 	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:484)
> 	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:472)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:472)
> 	at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:369)
> {noformat}
> It is because the HBase classes (org.apache.hadoop.hbase.\*) meet the system classes criteria which are supposed to be loaded strictly from the base classloader. But hadoop does not provide HBase as a dependency.
> We should exclude the HBase classes from the system classes until/unless HBase is provided by a future version of hadoop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)