You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2009/12/20 20:32:18 UTC

[jira] Updated: (HBASE-2001) Coprocessors: Colocate user code with regions

     [ https://issues.apache.org/jira/browse/HBASE-2001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell updated HBASE-2001:
----------------------------------

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

  was:
"Support arbitrary 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. 

        Summary: Coprocessors: Colocate user code with regions  (was: Coprocessors: Colocate arbitrary code with regions)

> Coprocessors: Colocate user code with regions
> ---------------------------------------------
>
>                 Key: HBASE-2001
>                 URL: https://issues.apache.org/jira/browse/HBASE-2001
>             Project: Hadoop HBase
>          Issue Type: Sub-task
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>         Attachments: asm-3.2-bin.zip, asm-transformations.pdf, HBASE-2001.patch, org.apache.hadoop.hbase.coprocessor.Coprocessor.pdf
>
>
> 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. 

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