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

Valery Kocubinsky commented on HBASE-6589:
------------------------------------------

Did you find any solution for your problem?

I have the same problem. I need to deploy different version our system on the 
same cluster(cdh 4.2.0). But I got the exception with the same stack trace when 
deploy my library on hadoop file system. 

I have coprocessor

{code:java}
public interface HReportsServerProtocol extends CoprocessorProtocol {

        HReportSegment runHReport(HQuery query);

}
{code}

And in my case HbaseObjectWritable can not find class HQuery. 




                
> RegionServer can't load class for dynamically loaded coprocessors with self 
> defined class
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-6589
>                 URL: https://issues.apache.org/jira/browse/HBASE-6589
>             Project: HBase
>          Issue Type: Bug
>          Components: Coprocessors, regionserver
>            Reporter: ShiXing
>
> When using coprocessor with custom classes like LongColumnInterpreter(mine is 
> MultiColumnSchema), the coprocessor can not work for hot deploy, if the 
> custom classes do not deploy in the regionserver's classpath. Although the 
> self-defined class is deployed in the regions' classpath through hdfs jar.
> The exception threw at the regionserver's log:
> {code}
> 2012-08-15 16:24:24,403 ERROR org.apache.hadoop.hbase.io.HbaseObjectWritable: 
> Error in readFields
> java.io.IOException: Can't find class 
> com.taobao.hbase.coprocessor.MultiColumnSchema
>         at 
> org.apache.hadoop.hbase.io.HbaseObjectWritable.readObject(HbaseObjectWritable.java:674)
>         at 
> org.apache.hadoop.hbase.client.coprocessor.Exec.readFields(Exec.java:114)
>         at 
> org.apache.hadoop.hbase.io.HbaseObjectWritable.readObject(HbaseObjectWritable.java:682)
>         at 
> org.apache.hadoop.hbase.ipc.Invocation.readFields(Invocation.java:125)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Connection.processData(HBaseServer.java:1292)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Connection.readAndProcess(HBaseServer.java:1207)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Listener.doRead(HBaseServer.java:735)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Listener$Reader.doRunLoop(HBaseServer.java:524)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Listener$Reader.run(HBaseServer.java:499)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.ClassNotFoundException: 
> com.taobao.hbase.coprocessor.MultiColumnSchema
>         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 java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:247)
>         at 
> org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:943)
>         at 
> org.apache.hadoop.hbase.io.HbaseObjectWritable.getClassByName(HbaseObjectWritable.java:784)
>         at 
> org.apache.hadoop.hbase.io.HbaseObjectWritable.readObject(HbaseObjectWritable.java:671)
>         ... 11 more
> {code} 
> It is similar as HBASE-4946, but I do not know how to solve this bug.
> If add these custom class to the RegionServer's classloader may fix it, but 
> it is conflicted with HBASE-6308 to prevent dependency conflicts.
> Does anyone have some idea?

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