[
https://issues.apache.org/jira/browse/HBASE-12260?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stack updated HBASE-12260:
--------------------------
Resolution: Won't Fix
Status: Resolved (was: Patch Available)
Resolving as "won't fix".
The direction I was taking here, and the direction on the RegionServer side
done in HBASE-18183, has been superceded by a superior approach up in
HBASE-19007.
In here, we took a more pure approach than that pursued in HBASE-18183. In
here, we gave MasterServices and Services a pruning shearing all of the
IA.Private classes to make MS and S for for Coprocessor consumption (All
exposed classes were InterfaceAudience.LimitedPrivate or Public, no IA.Private
classes exposed). Internally, we then did a bunch of code refactoring to make
it so Tests, Managers, and Services, rather than use MasterServices, instead
used HMaster explicitly everywhere; i.e. use the actual implementation rather
than an Interface.
> MasterServices needs a short-back-and-sides; pare-back exposure of internals
> and IA.Private classes
> ---------------------------------------------------------------------------------------------------
>
> 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, HBASE-12260.master.003.patch,
> HBASE-12260.master.004.patch, HBASE-12260.master.005.patch,
> HBASE-12260.master.006.patch, HBASE-12260.master.007.patch,
> HBASE-12260.master.008.patch, HBASE-12260.master.009.patch,
> HBASE-12260.master.010.patch, HBASE-12260.master.011.patch,
> HBASE-12260.master.011.patch, HBASE-12260.master.012.patch,
> HBASE-12260.master.013.patch, HBASE-12260.master.014.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)