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

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.hbase.org/r/96/
-----------------------------------------------------------

(Updated 2010-05-31 22:47:25.650165)


Review request for hbase.


Summary
-------

This patch is the parts of the HBASE-2001 patch which implements support for 
the RegionObserver interface. This enables extension of the regionserver 
through stacking dynamically loaded classes i.e. from jars on HDFS onto upcalls 
from HRegion. I made some improvements over the other patch and added a test 
case. There are other parts of 2001 which need some thought and some work and 
would not be useful without client side support. This is the part which could 
be immediately useful. 

Submitted for feedback. 

Incorporates a user suggestion and Stack +1 about hooking compaction.


This addresses bug HBASE-2001.
    http://issues.apache.org/jira/browse/HBASE-2001


Diffs (updated)
-----

  src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java 
PRE-CREATION 
  src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java 
PRE-CREATION 
  src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java 
PRE-CREATION 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 2413e98 
  
src/main/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java
 71f738e 
  src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 515b42f 
  src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassloading.java 
PRE-CREATION 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java 
PRE-CREATION 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java
 PRE-CREATION 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverStacking.java
 PRE-CREATION 

Diff: http://review.hbase.org/r/96/diff


Testing
-------

All the new unit tests plus TestHRegion pass locally.


Thanks,

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-3.2-bin.zip, asm-transformations.pdf, 
> HBASE-2001-RegionObserver.patch, HBASE-2001.patch.gz
>
>
> 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