[ https://issues.apache.org/jira/browse/HBASE-2001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12916596#action_12916596 ]
HBase Review Board commented on HBASE-2001: ------------------------------------------- Message from: "Jonathan Gray" <jg...@apache.org> ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://review.cloudera.org/r/876/#review1366 ----------------------------------------------------------- src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java <http://review.cloudera.org/r/876/#comment4522> I would actually be -1 on having this call the get coprocessor hooks. Expected behavior (for me) would be that coprocessors hook into the client-side calls, not internal calls. For checkAndPut, are those Gets also wrapped by coprocessors? I suppose you could make an argument either way, but I'd err on the side of coprocessors attaching on client operations not internal ones. - Jonathan > 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.