You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2011/12/07 22:06:00 UTC

svn commit: r1211632 - in /hbase/trunk/src/main/java/org/apache/hadoop/hbase: HRegionInfo.java master/CatalogJanitor.java

Author: tedyu
Date: Wed Dec  7 21:05:59 2011
New Revision: 1211632

URL: http://svn.apache.org/viewvc?rev=1211632&view=rev
Log:
HBASE-4927 Addendum fixes case where start key is empty and end key is empty

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

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java?rev=1211632&r1=1211631&r2=1211632&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java Wed Dec  7 21:05:59 2011
@@ -777,8 +777,14 @@ implements WritableComparable<HRegionInf
     result = Bytes.compareTo(this.endKey, o.endKey);
 
     if (result != 0) {
-      if (this.getEndKey().length == 0) return 1; // this is last region
-      if (o.getEndKey().length == 0) return -1; // o is the last region
+      if (this.getStartKey().length != 0
+              && this.getEndKey().length == 0) {
+          return 1; // this is last region
+      }
+      if (o.getStartKey().length != 0
+              && o.getEndKey().length == 0) {
+          return -1; // o is the last region
+      }
       return result;
     }
     if (this.offLine == o.offLine)

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java?rev=1211632&r1=1211631&r2=1211632&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java Wed Dec  7 21:05:59 2011
@@ -158,8 +158,14 @@ class CatalogJanitor extends Chore {
       // Compare end keys.
       result = Bytes.compareTo(left.getEndKey(), right.getEndKey());
       if (result != 0) {
-        if (left.getEndKey().length == 0) return -1;  // left is last region
-        if (right.getEndKey().length == 0) return 1;  // right is the last region
+        if (left.getStartKey().length != 0
+                && left.getEndKey().length == 0) {
+            return -1;  // left is last region
+        }
+        if (right.getStartKey().length != 0
+                && right.getEndKey().length == 0) {
+            return 1;  // right is the last region
+        }
         return -result; // Flip the result so parent comes first.
       }
       return result;