You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2014/01/06 19:32:32 UTC
svn commit: r1555966 -
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
Author: larsh
Date: Mon Jan 6 18:32:31 2014
New Revision: 1555966
URL: http://svn.apache.org/r1555966
Log:
HBASE-10273 AssignmentManager.regions and AssignmentManager.servers are not always updated in tandem (Feng Honghua)
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1555966&r1=1555965&r2=1555966&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Mon Jan 6 18:32:31 2014
@@ -1766,6 +1766,7 @@ public class AssignmentManager extends Z
}
synchronized (this.regions) {
this.regions.put(plan.getRegionInfo(), plan.getDestination());
+ addToServers(plan.getDestination(), plan.getRegionInfo());
}
}
break;
@@ -2250,7 +2251,13 @@ public class AssignmentManager extends Z
}
// Remove from the regionsMap
synchronized (this.regions) {
- this.regions.remove(region);
+ ServerName sn = this.regions.remove(region);
+ if (sn != null) {
+ Set<HRegionInfo> serverRegions = this.servers.get(sn);
+ if (serverRegions == null || !serverRegions.remove(region)) {
+ LOG.warn("No " + region + " on " + sn);
+ }
+ }
}
deleteClosingOrClosedNode(region);
}