[
https://issues.apache.org/jira/browse/HBASE-12277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173294#comment-14173294
]
Andrew Purtell edited comment on HBASE-12277 at 10/16/14 3:28 AM:
------------------------------------------------------------------
bq. To remove this direct coupling, bulk-load related methods in
AccessController should be refactored to an interface; and have
AccessController implement this interfaces. SecureBulkLoadEndpoint should then
look for coprocessors that implement this interface, instead of directly
looking for AccessController.
We could do this as a short term measure.
Longer term, as I understand it, we will be moving SecureBulkLoadEndpoint first
and then the equivalents of the AccessController and VisibilityController into
core code. This will ultimately resolve the stated issue.
It might be better to resolve this issue in the short term as well by moving
SecureBulkLoadEndpoint functionality into core code right away.
was (Author: apurtell):
bq. To remove this direct coupling, bulk-load related methods in
AccessController should be refactored to an interface; and have
AccessController implement this interfaces. SecureBulkLoadEndpoint should then
look for coprocessors that implement this interface, instead of directly
looking for AccessController.
We could do this as a short term measure.
Longer term, as I understand it, we will be moving SecureBulkLoadEndpoint first
and then the equivalents of the AccessController and VisibilityController into
core code. This will ultimately resolve the stated issue.
It might be better to resolve this issue in the short term as well by moving
SecureBulkLoadEndpoint functionality into core code.
> Refactor bulkLoad methods in AccessController to its own interface
> ------------------------------------------------------------------
>
> Key: HBASE-12277
> URL: https://issues.apache.org/jira/browse/HBASE-12277
> Project: HBase
> Issue Type: Bug
> Reporter: Madhan Neethiraj
>
> SecureBulkLoadEndPoint references couple of methods, prePrepareBulkLoad() and
> preCleanupBulkLoad(), implemented in AccessController i.e. direct coupling
> between AccessController and SecureBuikLoadEndPoint classes.
> SecureBulkLoadEndPoint assumes presence of AccessController in
> secure-cluster. If HBase is configured with another coprocessor for
> access-control, SecureBulkLoadEndPoint fails with NPE.
> To remove this direct coupling, bulk-load related methods in AccessController
> should be refactored to an interface; and have AccessController implement
> this interfaces. SecureBulkLoadEndPoint should then look for coprocessors
> that implement this interface, instead of directly looking for
> AccessController.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)