hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "HBase Review Board (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2001) Coprocessors: Colocate user code with regions
Date Thu, 03 Jun 2010 06:31:07 GMT

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

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

Message from: stack@duboce.net

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.hbase.org/r/96/#review123
-----------------------------------------------------------


This looks really great Andrew.


src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java
<http://review.hbase.org/r/96/#comment680>

    What about unloading?  You remember that conversation up on irc of how loading is one
thing but unloading w/o breakage is hard prob.



src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java
<http://review.hbase.org/r/96/#comment681>

    Good



src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java
<http://review.hbase.org/r/96/#comment682>

    I love the one where fellas would be allowed intercept compactions adding their own compacting
algorithm -- but I suppose that out of scope here, or coprocessors v2? (nm... I see it later
in this patch)



src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java
<http://review.hbase.org/r/96/#comment683>

    Great doc.  Some could probably go out into package doc...



src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java
<http://review.hbase.org/r/96/#comment684>

    Make this javadoc?



src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java
<http://review.hbase.org/r/96/#comment685>

    Which table is this?



src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java
<http://review.hbase.org/r/96/#comment686>

    Needs to be Writable?



src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
<http://review.hbase.org/r/96/#comment687>

    This is a mixin you'd use if you want to be notified about compactions, etc.?



src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java
<http://review.hbase.org/r/96/#comment688>

    What would this be used for?  For CP to call out elsewhere on a table?



src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java
<http://review.hbase.org/r/96/#comment689>

    Write this as LOG.warn("Failed close of table=" + table, e)?



src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java
<http://review.hbase.org/r/96/#comment690>

    Is this needed?



src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java
<http://review.hbase.org/r/96/#comment691>

    How does this get triggered inside the HRS?  I suppose I'll learn later down in this patch.



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.hbase.org/r/96/#comment692>

    Its always on then?



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.hbase.org/r/96/#comment693>

    Who would want to get at this?


- stack





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


Mime
View raw message