You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2016/10/04 05:16:20 UTC

[jira] [Commented] (HBASE-16757) Integrate functionality currently done up as Coprocessor Endpoints into core.

    [ https://issues.apache.org/jira/browse/HBASE-16757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15544376#comment-15544376 ] 

stack commented on HBASE-16757:
-------------------------------

These CPEPs are impure because they are not separable from hbase-server/hbase-client because they make intimate use of internals. I tried to break them out but could not. We should try and talk up CPEPs being independent code as much as possible making use of hbase public APIs if only to inure against changes in internals.

Good citizens are the Aggregation example CPEP and the RSGroup CPEPs. These I was able to extract from hbase-server/hbase-client.

> Integrate functionality currently done up as Coprocessor Endpoints into core.
> -----------------------------------------------------------------------------
>
>                 Key: HBASE-16757
>                 URL: https://issues.apache.org/jira/browse/HBASE-16757
>             Project: HBase
>          Issue Type: Task
>          Components: Coprocessors
>            Reporter: stack
>
> As part of the work over in HBASE-15638, "Shade Protobufs", I could not but help noticing that of the seven or eight Coprocessor Endpoints bundled with hbase, half should have been converted to be core long time again. In fact, some of these core CPEPs are no longer viable as CPEPs, if they ever were, given how intertwined with core they are.
> For example, MultiRowMutation, the nice CPEP that allows us do cross-row transactions used natively amending hbase:meta, has much of its facility baked into core without which it could not run. In an exercise, I was able to convert this one over without having to alter public APIs in Table or Admin.
> Auth, as pointed out by [~mbertozzi], is not a Coprocessor Endpoint though it is cast as one invoked natively by RPC.
> VisibilityLabels is a CPEP but core types -- Query and Mutation -- actually depend on VisibiltyLabel related classes.
> SecureBulkLoad is not in any violation being a CPEP provided to add API ahead-of-time since properly deprecated and already integrated to core but I mention it here for completeness sake.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)