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

Appy commented on HBASE-12260:
------------------------------

Was briefly looking at patch to see the fate of 
MasterServices#getMasterCoprocessorHost(). (So this is not a  code review :) )
One thing that came to attention was, 
{noformat}
    return MasterProcedureUtil.submitProcedure(
        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) 
{
      @Override
      protected void run() throws IOException {
        getMasterCoprocessorHost().preXXX(...);
        ....
        getMasterCoprocessorHost().postXXX(...);
      }
{noformat}
Since these nonce runnables are being tied to masterCpHost by the virtue of 
being anonymous classes, can we get rid of {{HMaster master}} in 
NonceProcedureRunnable altogether?

> MasterServices - remove from coprocessor API (Discuss)
> ------------------------------------------------------
>
>                 Key: HBASE-12260
>                 URL: https://issues.apache.org/jira/browse/HBASE-12260
>             Project: HBase
>          Issue Type: Sub-task
>          Components: master
>            Reporter: ryan rawson
>            Assignee: stack
>            Priority: Critical
>             Fix For: 2.0.0-alpha-4
>
>         Attachments: HBASE-12260.master.001.patch, 
> HBASE-12260.master.002.patch
>
>
> A major issue with MasterServices is the MasterCoprocessorEnvironment exposes 
> this class even though MasterServices is tagged with 
> @InterfaceAudience.Private
> This means that the entire internals of the HMaster is essentially part of 
> the coprocessor API.  Many of the classes returned by the MasterServices API 
> are highly internal, extremely powerful, and subject to constant change.  
> Perhaps a new API to replace MasterServices that is use-case focused, and 
> justified based on real world co-processors would suit things better.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to