You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2012/11/22 01:22:58 UTC

[jira] [Commented] (HBASE-7205) Coprocessor classloader is replicated for all regions in the HRegionServer

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

Ted Yu commented on HBASE-7205:
-------------------------------

Looking at the change from HBASE-6308:
{code}
-      ClassLoader cl = new URLClassLoader(paths.toArray(new URL[]{}),
+      ClassLoader cl = new CoprocessorClassLoader(paths,
{code}
I wonder if the duplication of CoprocessorClassLoader across regions is caused by the way JVM handles CoprocessorClassLoader differently from handling of URLClassLoader.

RegionCoprocessorHost has access to RegionServerServices. One approach for solving this issue is to expose table to CoprocessorClassLoader mapping through RegionServerServices. loadTableCoprocessors() can consult the mapping and avoid creating duplicate CoprocessorClassLoader's.
                
> Coprocessor classloader is replicated for all regions in the HRegionServer
> --------------------------------------------------------------------------
>
>                 Key: HBASE-7205
>                 URL: https://issues.apache.org/jira/browse/HBASE-7205
>             Project: HBase
>          Issue Type: Bug
>          Components: Coprocessors
>    Affects Versions: 0.92.2, 0.94.2
>            Reporter: Adrian Muraru
>
> HBASE-6308 introduced a new custom CoprocessorClassLoader to load the coprocessor classes and a new instance of this CL is created for each single HRegion opened. This leads to OOME-PermGen when the number of regions go above hundres / region server. 
> Having the table coprocessor jailed in a separate classloader is good however we should create only one for all regions of a table in each HRS.

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