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

Gary Helmling commented on HBASE-16757:
---------------------------------------

{quote}
Auth, as pointed out by Matteo Bertozzi, is not a Coprocessor Endpoint though 
it is cast as one invoked natively by RPC.
{quote}

Not quite sure what you mean by this.  But, security makes use of two 
coprocessor services:
* AccessController - implements grant/revoke/list permissions/check permissions
* TokenProvider - provides methods to obtain a delegation token as a cp service 
call against the meta region

The TokenProvider methods could easily be moved into say the master APIs.  
Originally it needed to be kept external as we had a separate RPC engine for 
secure authentication.

The AccessController methods don't make sense outside of the authorization 
provided by AccessController.  I think it would make the most sense for moving 
those to be part of the work of pulling all of the authorization functionality 
into core and removing AccessController completely.

> 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)

Reply via email to