Coprocessors Are Unable To Load If RegionServer is Launched Using a Different 
Classloader than System Default
-------------------------------------------------------------------------------------------------------------

                 Key: HBASE-3552
                 URL: https://issues.apache.org/jira/browse/HBASE-3552
             Project: HBase
          Issue Type: Bug
          Components: coprocessors, regionserver
    Affects Versions: 0.92.0
         Environment: Ubuntu 10.10 x86_32
            Reporter: Ed Kohlwey


If a region server is launched in a context such that its classloader is 
different from the system class loader, then the Class object used to represent 
the Coprocessor interface of the coprocessor will be different than the 
Coprocessor Class object that is used by 
RegionCoprocessorHost.loadSystemCoprocessors() .

There's a few options that come to mind to fix this problem:

1. Remove the logic where loadSystemCoprocessors changes the context's 
ClassLoader back to the system default classloader.

2. Remove the cast to Coprocessor in CoprocessorHost.load() and invoke methods 
via reflection.

3. Set the class loader back to the system default before launching any daemon 
threads.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to