[ 
https://issues.apache.org/jira/browse/HBASE-7851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13579364#comment-13579364
 ] 

Devaraj Das commented on HBASE-7851:
------------------------------------

[~stack], the guava dependency comes from a reference to it from 
SecureServer.java (look at the stack trace in the jira description). This 
problem shouldn't happen on trunk since there is no SecureServer and the RPC 
client code-path doesn't reference anything from guava there.

Now coming back to the point on removing guava as a dependency, I wasn't aware 
of it. In theory, the patch could have been written to remove the reference to 
the guava class in SecureServer.java and instead implement the required 
functionality using JDK classes... What do you think?
                
> Include the guava classes as a dependency for jobs using 
> mapreduce.TableMapReduceUtil
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-7851
>                 URL: https://issues.apache.org/jira/browse/HBASE-7851
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.4
>            Reporter: Devaraj Das
>            Assignee: Devaraj Das
>             Fix For: 0.94.6
>
>         Attachments: 7851-1.patch
>
>
> The guava classes go as a dependency for jobs using TableMapReduceUtil from 
> the  org.apache.hadoop.hbase.mapred package but the same doesn't happen for 
> jobs using the same class from org.apache.hadoop.hbase.mapreduce package. Due 
> to this, tasks of the mapreduce jobs that wants to communicate with a secure 
> cluster fails. The stack trace of the failing tasks:
> {quote}
> Error: java.lang.ClassNotFoundException: 
> com.google.common.collect.ImmutableSet
>       at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>       at 
> org.apache.hadoop.hbase.ipc.SecureServer.<clinit>(SecureServer.java:96)
> {quote}
> We just need to add the dependency on the guava classes in the 
> mapreduce.TableMapReduceUtil class.

--
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

Reply via email to