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