You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2012/04/26 19:51:18 UTC

svn commit: r1330993 - /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java

Author: stack
Date: Thu Apr 26 17:51:17 2012
New Revision: 1330993

URL: http://svn.apache.org/viewvc?rev=1330993&view=rev
Log:
HBASE-5829 Inconsistency between the "regions" map and the "servers" map in AssignmentManager

Modified:
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1330993&r1=1330992&r2=1330993&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Thu Apr 26 17:51:17 2012
@@ -1663,6 +1663,7 @@ public class AssignmentManager extends Z
           }
           synchronized (this.regions) {
             this.regions.put(plan.getRegionInfo(), plan.getDestination());
+            addToServers(plan.getDestination(), plan.getRegionInfo());
           }
         }
         break;
@@ -2078,6 +2079,10 @@ public class AssignmentManager extends Z
           // Remove from the regionsMap
           synchronized (this.regions) {
             this.regions.remove(region);
+            Set<HRegionInfo> serverRegions = this.servers.get(server);
+            if (!serverRegions.remove(region)) {
+              LOG.warn("No " + region + " on " + server);
+            }
           }
           deleteClosingOrClosedNode(region);
         }