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

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

.004 cleanup.Lets see how it does against hadoopqa. Below is commit comment. 
Feedback?

{code}
    HBASE-19007 Align Services Interfaces in Master and RegionServer

    Purges Server, MasterServices, and RegionServerServices from
    CoprocessorEnvironments. Replaces removed functionality with
    a set of carefully curated methods on the *CoprocessorEnvironment
    implementations (Varies by CoprocessorEnvironment in that the
    MasterCoprocessorEnvironment has Master-type facility exposed,
    and so on).

    A few core Coprocessors that should long ago have been converted
    to be integral, violate their context; e.g. a RegionCoprocessor
    wants free access to a hosting RegionServer (which may or may not
    be present). Rather than let these violators make us corrupte the
    CP API, instead, we've made up a hacky system that allows core
    Coprocessors access to internals. A new CoreCoprocessor Annotation
    has been introduced. When loading Coprocessors, if the instance is
    annotated CoreCoprocessor, we pass it an Environment that has been
    padded w/ extra-stuff. On invocation, CoreCoprocessors know how to
    route their way to these extras in their environment.

    See the *CoprocessoHost for how the do the check for CoreCoprocessor
    and pass a fatter *Coprocessor, one that allows getting of either
    a RegionServerService or MasterService out of the environment
    via Marker Interfaces.

    Removed org.apache.hadoop.hbase.regionserver.CoprocessorRegionServerServices

    M 
hbase-endpoint/src/main/java/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.java
     This Endpoint has been deprecated because its functionality has been
     moved to core. Marking it a CoreCoprocessor in the meantime to
     minimize change.

    M 
hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java
     This should be integral to hbase. Meantime, marking it CoreCoprocessor.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/Server.java
     Added doc on where it is used and added back a few methods we'd
    removed.

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoreCoprocessor.java
     New annotation for core hbase coprocessors. They get richer environment
     on coprocessor loading.

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/HasMasterServices.java
    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/HasRegionServerServices.java
     Marker Interface to access extras if present.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.java
      Purge MasterServices access. Allow CPs a Connection.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.java
      Purge RegionServerServices access. Allow CPs a Connection.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.java
      Purge MasterServices access. Allow CPs a Connection.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.java
    M hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/QuotaCache.java
      We no longer have access to MasterServices. Don't need it actually.
      Use short-circuiting Admin instead.

    D 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorRegionServerServices.java
      Removed. Not needed now we do CP Env differently.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
      No need to go via RSS to getOnlineTables; just use HRS.

    And so on. Adds tests to ensure we can only get at extra info
    if the CP has been properly marked.
{code}

> 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
>         Attachments: HBASE-19007.master.001.patch, 
> HBASE-19007.master.002.patch, HBASE-19007.master.003.patch, 
> HBASE-19007.master.004.patch
>
>
> 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