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

stack commented on HBASE-19007:
-------------------------------

Chatted w/ [~appy]. We came up w/ this proposal:

 * Undo exposing RegionServerServices and MasterServices to coprocessors.
 * Only expose Server to Coprocessors so they can do getServerName, 
getConfiguration, etc. (The amended HBASE-12260 Server, the one that has a few 
extra methods and the IA.LP annotation added).
 * Amend MasterCoprocessorEnvironment and RegionServerCoprocessorEnvironment 
adding to these classes any methods/facility we want to expose to Coprocessors. 
For example, we'd have the MasterCorprocessorEnvironment implement 
ServerListener so a CP could register itself on the Master-side to listen to 
the coming and going of Servers or we'd add to MasterCPE the isActiveMaster 
method. CPs would do env#isActiveMaster() instead of 
env#getMasterServices().isActiveMaster().

Benefits:
 * MS and RSS can return to their original intent as pure Interfaces useful in 
test and giving Managers and Services a subset of total Master function (though 
they are overburdened still and in need of cleanup).
 * What we provide CPs is untangled from Server and its subclasses and moved to 
the proper location, the 'environment' we supply CPs when they run.

Downsides:?

[~anoop.hbase] You good w/ this? I can work on a patch for Master-side to show 
what it would look like.

> Align Services Interfaces in Master and RegionServer
> ----------------------------------------------------
>
>                 Key: HBASE-19007
>                 URL: https://issues.apache.org/jira/browse/HBASE-19007
>             Project: HBase
>          Issue Type: Task
>            Reporter: stack
>            Priority: Blocker
>
> HBASE-18183 adds a CoprocessorRegionServerService to give a view on 
> RegionServiceServices that is safe to expose to Coprocessors.
> On the Master-side, MasterServices becomes an Interface for exposing to 
> Coprocessors.
> We need to align the two.
> For background, see 
> https://issues.apache.org/jira/browse/HBASE-12260?focusedCommentId=16203820&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16203820
>  



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

Reply via email to