[
https://issues.apache.org/jira/browse/HBASE-12260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16204048#comment-16204048
]
stack commented on HBASE-12260:
-------------------------------
bq. I considered this a mess in a fashion similar to the HRS+RSS+IRSS noted
above and it did not align w/ the radical retrofit done here.
'mess' in the above is the wrong word. I should have said something like
added-complexity. Also, I come to the opinion above after doing the work in
here (Anoop was ahead of me in his RSS refactor).
To answer [~anoop.hbase] more directly....
bq. .... the name is the issue or having 2 interfaces stack?
I think it the latter Anoop. There will be three Interfaces actually -- Server,
CoprocessorRegionServerServices, RegionServerServices, and then the HRS
Implementation. It strikes me as complicating adding in another tier of
Interfaces. CPRSS is not too bad because it clear that it is for CPs
exclusively but then having this in our implementation hierarchy doesn't seem
right either (or duping methods once in RSS and then in CPRSS so CPRSS is a
mix-in seems complicating also).
I chatted w/ my coworkers here. One thought that came out of the discussion was
bulking up Server. Given Master is a RegionServer now, could we add enough to
Server Interface to make CPs happy? I'll take a look.
> 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)