[
https://issues.apache.org/jira/browse/HBASE-12260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16195485#comment-16195485
]
stack commented on HBASE-12260:
-------------------------------
.004 Fix findbugs. Make tests basically work. Here is the patch-set commit
message so far:
HBASE-12260 MasterServices - remove from coprocessor API (Discuss)
Marks MasterServices as Coprocessor conduit to a subset of Master
facility. Compensates for the removals by using Admin (Admin calls from
Master short-circuit RPC). Added at least getServers to Admin Interface
and made ServerListener LP.COPROCs to help with the transition.
RSGroups needs work still. It is currently being fixed up to work on
AMv2 concurrently. Will come back here when that work is done to
finish. Meantime a few corners have been disabled.
Purges from Server: getClusterConnection, getMetaTableLocator,
getCoordinatedStateManager.
Purges from MasterServices: getServerManager, getMasterFileSystem,
getMasterWALManager, getTableStateManager, getMasterMetrics (may
put this back later), getRegionNormalizer, mergeRegions, splitRegion,
createTable, deleteTable, etc. (for these latter table manipulations,
go via the Admin Interface), getMasterCoprocessorHost,
getMasterQuotaManager, getAssignmentManager, getCatalogJanitor,
getSnapshotManager, getMasterPrcoedureManagerHost, getClusterSchema,
abortProcedure, getProcedures, getLocks, getLoadBalancer,
all to do w/ replication changes and draining servers.
Adds registering of ServerListener and unregistering to MasterServices.
> 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
>
>
> 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)