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

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

.002 should be good to go. Trying it against qa.

    Changed core of AM#createAssignProcedure so we pass list of Regions to
    assign to the balancer en masse, in one lump. Let the balancer figure
    what to do with the fat assign.

    We get back a Map of servers to regions. We then transform that into
    an array of AssignProcedures to pass to the Assign executor. We sort
    the array so that meta and system tables are passed to the executor
    first (and so replicas are clumped together...).

    Internally the AM executor may divvy up the work into queues but
    all will be pre-assigned so we should have good distribution
    (round-robin) regardless of how the queue is processed.

    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.

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

> 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: ramkrishna.s.vasudevan
>             Fix For: 2.0.0-beta-1
>
>         Attachments: HBASE-18946.master.001.patch, 
> HBASE-18946.master.002.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