Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
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 HTableInterface 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: https://github.com/trendmicro/hbase/tree/coprocessor
Please see the latest attached package-info.html for updated description.
Attachments
Attachments
Issue Links
- is blocked by
-
HBASE-2321 Support RPC interface changes at runtime
- Closed
- is depended upon by
-
HBASE-3025 Coprocessor based simple access control
- Closed
- is related to
-
HBASE-2461 Split doesn't handle IOExceptions when creating new region reference files
- Closed
-
HBASE-2357 Coprocessors: Add read-only region replicas (slaves) for availability and fast region recovery
- Closed
- relates to
-
HBASE-1697 Discretionary access control
- Closed