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

HBase Review Board commented on HBASE-2001:
-------------------------------------------

Message from: "Andrew Purtell" <[email protected]>

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.cloudera.org/r/876/#review1323
-----------------------------------------------------------



src/main/java/org/apache/hadoop/hbase/coprocessor/package-info.java
<http://review.cloudera.org/r/876/#comment4433>

    Please add javadoc that explains that coprocessors loaded from 
configuration are all installed at System priority, chained in the order they 
appear in the value. (So users must explicitly order authoritative extensions 
before observers.)



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.cloudera.org/r/876/#comment4462>

    If this throws a CoprocessorException the read lock won't be unlocked. Move 
out of the finally block. 



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.cloudera.org/r/876/#comment4463>

    This is not really post flush. Should be moved after internalFlushcache()



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.cloudera.org/r/876/#comment4464>

    What happened to checkResources()?



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.cloudera.org/r/876/#comment4466>

    Spelling error



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.cloudera.org/r/876/#comment4467>

    Why not? What is excluded?



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.cloudera.org/r/876/#comment4465>

    Spelling error



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.cloudera.org/r/876/#comment4468>

    Yes we do. The coprocessor may be intercepting gets and performing global 
substitutions. Not allowing it to do so in this case would introduce 
inconsistency.



src/test/java/org/apache/hadoop/hbase/coprocessor/TestCommandTarget.java
<http://review.cloudera.org/r/876/#comment4469>

    What are these magic numbers?


- Andrew





> Coprocessors: Colocate user code with regions
> ---------------------------------------------
>
>                 Key: HBASE-2001
>                 URL: https://issues.apache.org/jira/browse/HBASE-2001
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>         Attachments: asm-transformations.pdf, 
> HBASE-2001-RegionObserver-2.patch, HBASE-2001-RegionObserver.patch, 
> HBASE-2001.patch.gz, packge-info.html
>
>
> Support user code that runs run next to each region in table. As regions 
> split and move, coprocessor code should automatically  move also.
> Use classloader which looks on HDFS.
> Associate a list of classes to load with each table. Put this in HRI so it 
> inherits from table but can be changed on a per region basis (so then those 
> region specific changes can inherited by daughters). 
> Not completely arbitrary code, should require implementation of an interface 
> with callbacks for:
> * Open
> * Close
> * Split
> * Compact
> * (Multi)get and scanner next()
> * (Multi)put
> * (Multi)delete
> Add method to HRegionInterface for invoking coprocessor methods and 
> retrieving results.  
> Add methods in o.a.h.h.regionserver or subpackage which implement convenience 
> functions for coprocessor methods and consistent/controlled access to 
> internals: store access, threading, persistent and ephemeral state, scratch 
> storage, etc. 
> GitHub: http://github.com/apurtell/hbase-coprocessor

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to