[ https://issues.apache.org/jira/browse/HBASE-20741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16551032#comment-16551032 ]
Ted Yu commented on HBASE-20741: -------------------------------- Thanks for the patch, Ram. {code} final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(daughter_2_RI, i); - procs[procsIdx++] = env.getAssignmentManager().createAssignProcedure(hri, targetServer); + if (RegionReplicaUtil.isDefaultReplica(hri)) { + procs[procsIdx++] = env.getAssignmentManager().createAssignProcedure(hri, targetServer); + } else { + serverIdx = serverIdx % (onlineServers.size()); + procs[procsIdx++] = + env.getAssignmentManager().createAssignProcedure(hri, onlineServers.get(serverIdx)); + serverIdx++; + } {code} Previously there was only one call inside the if block. Now there are several lines of code which are similar for both daughter regions. Please consider extracting such code into a method. > Split of a region with replicas creates all daughter regions and its replica > in same server > ------------------------------------------------------------------------------------------- > > Key: HBASE-20741 > URL: https://issues.apache.org/jira/browse/HBASE-20741 > Project: HBase > Issue Type: Bug > Components: read replicas > Affects Versions: 2.0.0 > Reporter: ramkrishna.s.vasudevan > Assignee: ramkrishna.s.vasudevan > Priority: Major > Fix For: 2.2.0 > > Attachments: HBASE-20741.patch > > > Generally it is better that the parent region when split creates the daughter > region in the same target server. > But for replicas also we do the same and all the replica regions are created > in the same target server. We should ideally be doing a round robin and only > the primary daughter region should be opened in the intended target server > (where the parent was previously opened). > [~huaxiang] FYI. -- This message was sent by Atlassian JIRA (v7.6.3#76005)