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

Anoop Sam John commented on HBASE-18298:
----------------------------------------

bq.This is not right? public CoprocessorRSServices getRegionServerServices() {
I feel this is ok.  I mean the old name.. What we return is the RS services.  
We have a separate Interface specific for the CPs.  Still u people feel the 
name has to be getCoprocessorRSServices?
bq.What you think of this CPServices Interface boss? 
I think this way is ok. WDYS?
bq.getServerName seems a bit odd in a CP.
I also did not add it 1st.. Seems some of the tests and test CP impl uses this. 
May be it is ok to add? ServerName is any way Public exposed. Just a getter 
which says abt the server host/post details.. May be of not much use. Still can 
we have it?
bq.The region methods we could add to OnlineRegions?
Why I have duplicated it here is, the OnlineRegions can not be exposed. Becuase 
it contains addToOnlineRegions, removeFromOnlineRegions. We can not expose 
these.  So OnlineRegions interface is been maintained still which is having all 
interface APIs to interfact with online regions Map
bq. Interface to Map of online regions.  In the  Map, the key is the region's 
encoded name and the value is an {@link Region} instance.
And the ones which has to be exposed is been duplicated in the exposed 
interface.
Same way did for Server interface also.. Most of the methods there should NOT 
be exposed. So I have removed the Limited private audience from it and 
duplicated one or 2 methods which needs to be exposed to CPs into 
CoprocessorRSServices
bq.Is the getFileSystem in this Interface ever different than that you'd get 
with a FileSystem.getFileSytem(Conf)?
Same. May be we can remove from CP interface u mean? Am ok.
bq.We have Stoppable... Could add isStopping to this interface. That'd take 
care of isStopping.
But that contains stop() method also.. So if we make the CoprocessorRSServices 
is-a Stoppable, then we have to expose stop() also. Am trying to avoid all such 
APIs been exposed. Even now also the HRS is not a Stoppable type.
bq.Just call CoprocessorRSServices CoprocessorServices?
This is the services for CPs provided specifically by RS. Like the APIs around 
the online regions etc. So this name is more clear?
bq.BTW, should we also cleanup the MasterServices for CP? There is a connected 
issue HBASE-12260.
Thanks for pointing out. I missed this..  Ya we must do.. Will take care as 
part that old issue.  Lets clean that also. So when we make a new interface for 
this master side, we will name it as CoprocessorMasterServices.
bq.What about renaming the method? getCoprocessorRSServices()?
Mentioned abt this in above comment. U ok?

Thanks for the reviews.

> RegionServerServices Interface cleanup for CP expose
> ----------------------------------------------------
>
>                 Key: HBASE-18298
>                 URL: https://issues.apache.org/jira/browse/HBASE-18298
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Coprocessors
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>            Priority: Critical
>             Fix For: 2.0.0-alpha-4
>
>         Attachments: HBASE-18298.patch, HBASE-18298_V2.patch, 
> HBASE-18298_V3.patch, HBASE-18298_V4.patch
>
>




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

Reply via email to