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/12/06 21:57:10 UTC

[jira] [Comment Edited] (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=13512095#comment-13512095 ] 

Ted Yu edited comment on HBASE-7205 at 12/6/12 8:55 PM:
--------------------------------------------------------

In writing the test for this JIRA, I am thinking of adding the following package private methods to CoprocessorHost because CoprocessorHost doesn't have knowledge about which table the coprocessor is being loaded for:
1. void clearCacheForTesting();
2. int getClassloaderCountForTesting(Path path);
The first method would be called at the beginning of every test. The second method would be called where we want to make sure only one ClassLoader exists per region server.

Please comment on the above plan.

Thanks
                
      was (Author: yuzhihong@gmail.com):
    In writing the test for this JIRA, I am thinking of adding the following package private methods to CoprocessorHost because CoprocessorHost doesn't have knowledge about which table the coprocessor is being loaded for:
1. void clearCacheForTesting();
2. int getClassloaderCount(Path path);
The first method would be called at the beginning of every test. The second method would be called where we want to make sure only one ClassLoader exists per region server.

Please comment on the above plan.

Thanks
                  
> 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
>            Assignee: Ted Yu
>            Priority: Critical
>             Fix For: 0.96.0, 0.94.4
>
>         Attachments: 7205-v1.txt, 7205-v3.txt, HBASE-7205_v2.patch
>
>
> 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