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

Hudson commented on HBASE-4051:
-------------------------------

Integrated in HBase-TRUNK #1999 (See 
[https://builds.apache.org/job/HBase-TRUNK/1999/])
    HBASE-4051 Table coprocessor loaded twice when region is initialized

apurtell : 
Files : 
* 
/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
* /hbase/trunk/CHANGES.txt


> [Coprocessors] Table coprocessor loaded twice when region is initialized
> ------------------------------------------------------------------------
>
>                 Key: HBASE-4051
>                 URL: https://issues.apache.org/jira/browse/HBASE-4051
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>    Affects Versions: 0.92.0
>         Environment: Ubuntu 11.04 64-bit
>            Reporter: Terry Siu
>            Assignee: Andrew Purtell
>             Fix For: 0.92.0
>
>         Attachments: HBASE-4051.patch
>
>
> I'm debugging a prePut hook which I've implemented as part of the coprocessor 
> work being developed. This hook is loaded via a table COPROCESSOR attribute 
> and I've noticed that the prePut method is being called twice for a single 
> Put. After setting up the region server to run in a debugger, I'm noticing 
> the call to loadTableCoprocessors() being invoked twice during region 
> initialization, specifically: 
> 1.       HRegion.init => RegionCoprocessorHost.init => 
> RegionCoprocessorHost.loadTableCoprocessors 
> 2.       ... => RegionCoprocessorHost.preOpen => 
> RegionCoprocessorHost.loadTableCoprocessors 
> This results in two RegionEnvironment instances, each containing a new 
> instance of my coprocessor, being added to the RegionCoprocessorHost. When I 
> issue a put, the list of RegionEnvironments is iterated over and each calls 
> the prePut method in my coprocessor. Reason why this is posing a problem for 
> me is that I modify the family map passed in to my prePut method. Since this 
> family map is the same instance used in both prePut calls, the second prePut 
> call operates on the modified family map, which leads to an unexpected 
> result. 
> Is the double loading of the same coprocessor class intentional, is this a 
> bug?

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

        

Reply via email to