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

stack commented on HBASE-18946:
-------------------------------

.008 Adds in a bunch of doc around how retention works, when to use round robin 
assignment creation vs old-style. Fixes some other minor findings. The  new 
bulk comes from port of doc done over in the now-shattered HBASE-19501. Here is 
commit message.

    Added new bulk assign createRoundRobinAssignProcedure to complement
    the existing createAssignProcedure. The former asks the balancer for
    target servers to set into the created AssignProcedures. The latter
    sets no target server into AssignProcedure. When no target server
    is specified, we make effort at assign-time at trying to deploy the
    region to its old location if there was one.

    The new round robin assign procedure creator does not do this. Use
    the new round robin method on table create or reenabling offline
    regions. Use the old assign in ServerCrashProcedure or in
    EnableTable so there is a chance we retain locality.

    Bulk preassigning passing all to-be-assigned to the balancer in one
    go is good for ensuring good distribution especially when read
    replicas in the mix.

    The old assign was single-assign scoped so region replicas could
    end up on the same server.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
     Cleanup around forceNewPlan. Was confusing.
     Added a Comparator to sort AssignProcedures so meta and system tables
     come ahead of user-space tables.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
     Remove the forceNewPlan argument on createAssignProcedure. Didn't make
     sense given we were creating a new AssignProcedure; the arg had no
     effect.

     (createRoundRobinAssignProcedures) Recast to feed all regions to the 
balancer in
     bulk and to sort the return so meta and system tables take precedence.

    Miscellaneous fixes including keeping the Master around until all
    RegionServers are down, documentation on how assignment retention
    works, etc.

> Stochastic load balancer assigns replica regions to the same RS
> ---------------------------------------------------------------
>
>                 Key: HBASE-18946
>                 URL: https://issues.apache.org/jira/browse/HBASE-18946
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-3
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: stack
>             Fix For: 2.0.0-beta-1
>
>         Attachments: HBASE-18946.master.001.patch, 
> HBASE-18946.master.002.patch, HBASE-18946.master.003.patch, 
> HBASE-18946.master.004.patch, HBASE-18946.master.005.patch, 
> HBASE-18946.master.006.patch, HBASE-18946.master.007.patch, 
> HBASE-18946.master.008.patch, HBASE-18946.patch, HBASE-18946.patch, 
> HBASE-18946_2.patch, HBASE-18946_2.patch, HBASE-18946_simple_7.patch, 
> HBASE-18946_simple_8.patch, TestRegionReplicasWithRestartScenarios.java
>
>
> Trying out region replica and its assignment I can see that some times the 
> default LB Stocahstic load balancer assigns replica regions to the same RS. 
> This happens when we have 3 RS checked in and we have a table with 3 
> replicas. When a RS goes down then the replicas being assigned to same RS is 
> acceptable but the case when we have enough RS to assign this behaviour is 
> undesirable and does not solve the purpose of replicas. 
> [~huaxiang] and [~enis]. 



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

Reply via email to