HBASE-10734. Fix RegionStates.getRegionAssignments to not add duplicate regions
git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/hbase-10070@1577001 13f79535-47bb-0310-9956-ffa450edef68 Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a0a47445 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a0a47445 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a0a47445 Branch: refs/heads/master Commit: a0a474455627c82343da3ab75def6e04b1191422 Parents: fa68470 Author: Devaraj Das <[email protected]> Authored: Wed Mar 12 23:26:17 2014 +0000 Committer: Enis Soztutar <[email protected]> Committed: Fri Jun 27 16:39:38 2014 -0700 ---------------------------------------------------------------------- .../org/apache/hadoop/hbase/master/RegionStates.java | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/a0a47445/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java index 549265f..8bb2b11 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java @@ -159,22 +159,12 @@ public class RegionStates { Map<ServerName, List<HRegionInfo>> map = new HashMap<ServerName, List<HRegionInfo>>(); for (HRegionInfo region : regions) { HRegionInfo defaultReplica = RegionReplicaUtil.getRegionInfoForDefaultReplica(region); - ServerName server = regionAssignments.get(defaultReplica); - List<HRegionInfo> regionsOnServer; - if (server != null) { - regionsOnServer = map.get(server); - if (regionsOnServer == null) { - regionsOnServer = new ArrayList<HRegionInfo>(1); - map.put(server, regionsOnServer); - } - regionsOnServer.add(defaultReplica); - } Set<HRegionInfo> allReplicas = defaultReplicaToOtherReplicas.get(defaultReplica); if (allReplicas != null) { for (HRegionInfo hri : allReplicas) { - server = regionAssignments.get(hri); + ServerName server = regionAssignments.get(hri); if (server != null) { - regionsOnServer = map.get(server); + List<HRegionInfo> regionsOnServer = map.get(server); if (regionsOnServer == null) { regionsOnServer = new ArrayList<HRegionInfo>(1); map.put(server, regionsOnServer);
