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

stack commented on HBASE-14614:
-------------------------------

Pushed first cut at core assignment made from patches pulled from 
[~mbertozzi]'s repo (as per his guidance).

Here's the change log:

{code}
    HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi)
    Below are commits from Matteo's repo adding in core AM.
    Adds running of remote procedure. Adds batching of remote calls.
    Adds support for assign/unassign in procedures. Adds version info
    reporting in rpc. Adds start of an AMv2.

    First is from
    
https://github.com/matteobertozzi/hbase/commit/3622cba4e331d2fc7bfc1932abb4c9cbf5802efa

    Also adding in RS version info from
        
https://github.com/matteobertozzi/hbase/commit/ddb4df3964e8298c88c0210e83493aa91ac0942d.patch

    And remote dispath 
https://github.com/matteobertozzi/hbase/commit/186b9e7c4dae61a79509a6c3aad7f80ec61345e5

    A 
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.java
      Dispatch remote procedures every 150ms or 32 items -- which ever
      happens first (configurable). Runs a timeout thread.
      Carries notion of a remote procedure and of a buffer full of these.

    M hbase-protocol-shaded/src/main/protobuf/Admin.proto 
b/hbase-protocol-shaded/src/main/protobuf/Admin.proto
      Add execute procedures call.

    M hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
      Adds assign and unassign support.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java
      Adds getting RS version out of RPC
      Examples: (1.3.4 is 0x0103004, 2.1.0 is 0x0201000)

    M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
      Add start/stop of remote precedure engine. Add reference to AM2.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
      Extract version number of the server making rpc.

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
      Add new assign procedure.
      There can only be one RegionTransitionProcedure per region running at the 
time,
       since each procedure takes a lock on the region.

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
      A procedure-based AM (AMv2).
      TODO
       - handle region migration
       - handle meta assignment first
       - handle sys table assignment first (e.g. acl, namespace)
       - handle table priorities

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
      Adds new move region procedure.

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateStore.java
      Store region state (in hbase:meta by default).

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
      In-memory state of all regions.

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
      Base RIT procedure.

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
      Unassign procedure.

    A 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
      Run region assignement in a manner that pays attention to target
      server version.
{code}


> Procedure v2: Core Assignment Manager
> -------------------------------------
>
>                 Key: HBASE-14614
>                 URL: https://issues.apache.org/jira/browse/HBASE-14614
>             Project: HBase
>          Issue Type: Sub-task
>          Components: proc-v2
>    Affects Versions: 2.0.0
>            Reporter: Stephen Yuan Jiang
>            Assignee: Matteo Bertozzi
>             Fix For: 2.0.0
>
>         Attachments: HBASE-14614.master.001.patch
>
>
> New AssignmentManager implemented using proc-v2.
>  - AssignProcedure handle assignment operation
>  - UnassignProcedure handle unassign operation
>  - MoveRegionProcedure handle move/balance operation
> Concurrent Assign operations are batched together and sent to the balancer
> Concurrent Assign and Unassign operation ready to be sent to the RS are 
> batched together
> This patch is an intermediate state where we add the new AM as 
> AssignmentManager2() to the master, to be reached by tests. but the new AM 
> will not be integrated with the rest of the system. Only new am unit-tests 
> will exercise the new assigment manager. The integration with the master code 
> is part of HBASE-14616



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to