Index: src/main/java/org/apache/hadoop/hbase/HRegionInfo.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/HRegionInfo.java (revision 1040241) +++ src/main/java/org/apache/hadoop/hbase/HRegionInfo.java (working copy) @@ -644,7 +644,7 @@ } // Are regions of same table? - int result = this.tableDesc.compareTo(o.tableDesc); + int result = Bytes.compareTo(this.tableDesc.getName(), o.tableDesc.getName()); if (result != 0) { return result; } Index: src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java (revision 1040241) +++ src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java (working copy) @@ -293,7 +293,10 @@ long endTime = System.currentTimeMillis(); - assert(regionidx == regionsToMove.size()); + assert(regionidx == regionsToMove.size()): "clusterState=" + clusterState + + ", regionidx=" + regionidx + ", regionsToMove=" + regionsToMove + + ", numServers=" + numServers + ", serversOverloaded=" + serversOverloaded + + ", serversUnderloaded=" + serversUnderloaded; assert(neededRegions == 0); // All done!