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:
- (Multi)get and scanner next()
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.
Please see the latest attached package-info.html for updated description.