True. But we can clearly annotate what is public and what is not. In HRegion we'd have to do it per method. It's probably easier to extract the public interface out into a Interface. (similar to Store and HStore) HBASE-4207 solves a slightly different problem. Here I want to have access to some HBase internals for performance, but I want to know what is public and stable and what I should not touch (thinking about things like Phoenix).
-- Lars ________________________________ From: Andrew Purtell <[email protected]> To: "[email protected]" <[email protected]> Sent: Monday, February 10, 2014 4:46 PM Subject: Re: DISCUSSION: 1.0.0 On Mon, Feb 10, 2014 at 4:42 PM, lars hofhansl <[email protected]> wrote: > + known coprocessor interfaces. For example right now a coprocessor can > use everything on HRegion. We need to distill what's useful into an > interface. We started this with Environment and the HTable wrapper as an example of how to wrap an interface for CPs. At the end of the day we can't stop a coprocessor from accessing internal objects and calling their methods directly until HBASE-4047. (Maybe that makes the 1.0 list?) Related, paring down the coprocessor interfaces to only intercept RPC based actions and move everything else to plugins. -- Best regards, - Andy Problems worthy of attack prove their worth by hitting back. - Piet Hein (via Tom White)
