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

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

I like the way NOT to expose RSS or MS directly. 
bq.MasterCoprocessorEnvironment and RegionServerCoprocessorEnvironment adding 
to these classes any methods/facility
Means the CP required things in RS side like getConnection() will be added to 
RegionServerCoprocessorEnvironment ?  We would need it in 
RegionCoprocessorEnvironment also because that is what goes to RegionObserver 
hooks.   So u say that will also be true?
bq.getOnlineTables is weird. For Quota only. Lets fix Quota and not expose it 
here.
Ya may be not needed.
But CPRSS now extend ImmutableOnlineRegions  also and functions there will be 
needed by RS side hooks (Region level or RS level hooks)
We can 1st list down what all needed at MS level, RS level, Region level and 
WAL level.
bq.public interface Server extends Abortable, Stoppable {
I have a concern.  This means we expose the APIs from Abortable and Stoppable 
which include calls to abort() and stop. I believe no CP should directly do 
this.  Why a CP should abort HM or RSS?   That would be dangerous IMO.  I  
checked Phoenix code, they seem to call this in 2 or 3 places !!   What a CP 
instead should do is throw some IOE from CP hook and make the config 
'hbase.coprocessor.abortonerror' as true. (This is any way by def true only).   
Same with Stoppable also.
On general expose the Server and that having common methods for a server (Same 
in HM and RS side) and the **CorprocessorEnvironment exposing other things 
looks to be good solution.


> 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